我正在尝试使用我这样维度的InputStream从(res / raw)读取文件:
InputStream mStream = this.getResources().openRawResource(R.raw.my_text_file_utf_8);
然后我把它放到这个方法中以返回值:
public List<String> getWords(InputStream aFile) {
List<String> contents = new ArrayList<String>();
try {
BufferedReader input = new BufferedReader(new InputStreamReader(aFile));
try {
String line = new String();//not declared within while loop
while ((line = input.readLine()) != null ){
contents.add(line);
}
}
finally {
input.close();
}
}
catch (IOException ex){
ex.printStackTrace();
}
return contents;
}
我的问题:它会按原样读取所有值,但如果文件 104行长,它实际上会返回类似 134总行其余30行充满空 ??
已检查:已使用UTF-8格式,并仔细检查文档本身内是否有无空行 ...
我认为while循环的写法是不能将line = null值记录到内容List中?我在这里错过了什么吗?
感谢任何建设性的信息!我很确定我在这里忽略了一些简单的事实......
答案 0 :(得分:1)
查看此问题:Android read text raw resource file 提问者使用与您自己相似的代码并找到了可接受的答案。
答案 1 :(得分:0)
为什么不为您的信息创建HTML然后解析它。