Я пытаюсь прочитать текстовый файл построчно, используя InputStream из каталога ресурсов в Android.
Я хочу преобразовать InputStream в BufferedReader, чтобы иметь возможность использовать readLine ().
У меня есть следующий код:
InputStream is;
is = myContext.getAssets().open ("file.txt");
BufferedReader br = new BufferedReader (is);
В третьей строке сбрасывается следующая ошибка:
Несколько маркеров на этой линии Конструктор BufferedReader (InputStream) не определен.
То, что я пытаюсь сделать в C ++, будет примерно таким:
StreamReader file;
file = File.OpenText ("file.txt");
line = file.ReadLine();
line = file.ReadLine();
...
Что я делаю не так или как мне это делать? Спасибо!
java
android
inputstream
readline
bufferedreader
karse23
источник
источник
BufferedReader br = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8));
добавлено в Java 7Конструктор BufferedReader принимает считыватель в качестве аргумента, а не InputStream. Сначала вы должны создать Reader из вашего потока, вот так:
Предпочтительно вы также предоставляете имя кодировки или кодировки символов для конструктора StreamReader. Поскольку поток предоставляет только байты, преобразование их в текст означает, что кодировка должна быть известна. Если вы не укажете его, предполагается системное значение по умолчанию.
источник
источник