В настоящее время я пытаюсь прочитать файл из (res / raw), используя InputStream, который у меня такой размерности:
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 был написан так, что он не может записать строку = нулевое значение в список содержимого? Я что-то здесь упускаю?
Спасибо за любую конструктивную информацию! Я почти уверен, что пропускаю здесь простой фактоид ...