2015-11-22 27 views
-2

我有這部分代碼。我可以讀取代碼中的所有行。但我想單獨讀取(讀取)每個字母並將其放入數組中。我該怎麼做? 例如:在文件中的數字00010,我希望把它變成數組是這樣的:數組[0,0,0,1,0]如何閱讀文件中的每個字母?

public void readTest() 
    { 
      try 
      { 
        InputStream is = getResources().getAssets().open("test.txt"); 
        BufferedReader br = new BufferedReader(new InputStreamReader(is)); 
        String st = ""; 
        StringBuilder sb = new StringBuilder(); 

        while ((st=br.readLine())!=null) 
        { 
          sb.append(st); 
        } 

        br.close(); 

      }catch (IOException e) 
      { 
        Log.d(TAG, "Error: " + e); 
      } 
    } 
+0

這將不利於陣列,有這麼多的信件和索引 – Androider

回答

2

使用br.read()。它返回字符作爲整數

ArrayList<char> charArray = new ArrayList<>(); 
int i; 
while ((i = br.read()) != -1) { 
    char c = (char) i; 
    charArray.add(c); 
} 
+0

謝謝,它的工作 – Revolt

+0

如果它幫助,投票或接受。 –

0

直起JavaDoc

公衆詮釋閱讀() 拋出IOException異常 - 讀取單個字符。
0

您應該添加閱讀每串並添加它的字母排列通過它迭代,就像這樣:

while ((st=br.readLine())!=null) { 
      sb.append(st); 


      for (int i = 0; i < st.length(); i++) { 
       char c = st.charAt(i);   
       yourArray.add(c); 
      } 
}