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