Ich versuche, eine Textdatei zeilenweise mit InputStream aus dem Assets-Verzeichnis in Android zu lesen.
Ich möchte den InputStream in einen BufferedReader konvertieren, um die readLine () verwenden zu können.
Ich habe folgenden Code:
InputStream is;
is = myContext.getAssets().open ("file.txt");
BufferedReader br = new BufferedReader (is);
In der dritten Zeile wird der folgende Fehler gelöscht:
Mehrere Markierungen in dieser Zeile Der Konstruktor BufferedReader (InputStream) ist nicht definiert.
Was ich in C ++ versuche, wäre ungefähr so:
StreamReader file;
file = File.OpenText ("file.txt");
line = file.ReadLine();
line = file.ReadLine();
...
Was mache ich falsch oder wie soll ich das machen? Vielen Dank!
java
android
inputstream
readline
bufferedreader
karse23
quelle
quelle
BufferedReader br = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8));
hinzugefügt in Java 7Ein BufferedReader-Konstruktor verwendet einen Reader als Argument, keinen InputStream. Sie sollten zuerst einen Reader aus Ihrem Stream erstellen, wie folgt:
Vorzugsweise geben Sie dem StreamReader-Konstruktor auch einen Zeichensatz- oder Zeichenkodierungsnamen an. Da ein Stream nur Bytes bereitstellt, bedeutet die Konvertierung dieser in Text, dass die Codierung bekannt sein muss. Wenn Sie es nicht angeben, wird der Systemstandard angenommen.
quelle
quelle