如何阅读文件中的每个字母?

时间:2015-11-22 15:47:48

标签: java android arrays readfile

我有这部分代码。我可以从代码中读取所有行。但我想分别拿出(读)每个字母并将其放入数组中。我该怎么做? 例如:在文件中是数字00010,我想把它放到这样的数组中:array [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);
            }
    }

3 个答案:

答案 0 :(得分:2)

使用br.read()。它将字符返回为整数

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

答案 1 :(得分:0)

直接来自JavaDoc

public int read()          抛出IOException - 读取单个字符。

答案 2 :(得分: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);
            }
 }