2014-08-31 172 views
-1

我正在處理一個項目,在該項目中,我必須從文件中讀取數據並將該數據存儲到字符串數組中。如何從字符串中提取特定字符

字符串數組位置「0」應該有文件的前13個字符,字符串數組位置「1」應該有文件的後13個字符。 我試圖用getchar()只讀取前13個字符,但我使用它時遇到了麻煩,有人可以指出我的錯誤,因爲當我嘗試在應用程序上運行該應用程序時,應用程序崩潰。

InputStream is = getResources().openRawResource(R.raw.temp); 
    BufferedReader br = new BufferedReader(new InputStreamReader(is)); 
      try { 

       while((string = br.readLine()) != null){ 
       string.getChars(0,13, buffer, 0); 
        String str = new String(buffer); 
        text.setText(str); 

       } 

      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
      break; 

這裏,buffer是一個char型數組。

+1

什麼是期望的語言? – pikausp 2014-08-31 20:08:02

+0

是Java還是什麼? – qbit 2014-08-31 20:08:42

+0

是的,它的Java,我正在做Android編程,我是新來的。 – Asad 2014-08-31 20:15:17

回答

0

使用String.substring(startIndex, endIndex)來檢索字符串的一部分。

0

當您試圖將字符串拆分爲13個字符的塊時,爲什麼要使用readLine

String str = "Some string that may or may not be longer than 13 characters"; 
int LENGTH = 13, off_multiplier = 0, read_size;  
char [] buffer = new char[LENGTH]; 

ArrayList<String> string_array = new ArrayList<String>(); 

InputStream is = new ByteArrayInputStream(str.getBytes()); 
try(BufferedReader reader = new BufferedReader(new InputStreamReader(is))){ 
    while((read_size = reader.read(buffer, off_multiplier * LENGTH ,LENGTH)) != -1){ 
     string_array.add(new String(buffer,0,read_size)); 
    } 
} 
+0

你的代碼中的str是什麼? – Asad 2014-09-03 14:19:16

+0

@Asad這是你想分割的字符串,看起來像是我在複製粘貼時修改掉的字符串。 – pikausp 2014-09-03 14:36:17

+0

@Asad那是你以前的樣子?如果是,則將其標記爲答案,以便其他人知道。 – pikausp 2014-09-10 22:04:12

相關問題