Проблема чтения текстового файла в Android / Java - PullRequest
1 голос
/ 22 сентября 2011

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

Спасибо за любую конструктивную информацию! Я почти уверен, что пропускаю здесь простой фактоид ...

Ответы [ 2 ]

1 голос
/ 23 сентября 2011

Проверьте этот вопрос: Android-файл для чтения текстового файла Аскер использовал тот же код, что и вы, и нашел приемлемый ответ.

0 голосов
/ 22 сентября 2011

Почему вы не создаете HTML для своей информации, а затем анализируете ее?

...