Android / Java文本文件读取问题

时间:2011-09-22 19:30:02

标签: java android text inputstream bufferedreader

我正在尝试使用我这样维度的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中?我在这里错过了什么吗?

感谢任何建设性的信息!我很确定我在这里忽略了一些简单的事实......

2 个答案:

答案 0 :(得分:1)

查看此问题:Android read text raw resource file 提问者使用与您自己相似的代码并找到了可接受的答案。

答案 1 :(得分:0)

为什么不为您的信息创建HTML然后解析它。