[Hilfe] Data Storage - File auslesen (Text)
Hallo,
hab ein Anfänger Problem und finde in der Doku einfach keine Hilfe.
Ich schreibe über ...
String FILENAME = "hello_file";
String string = "hello world!";
try {
FileOutputStream fos = openFileOutput(FILENAME,
Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
......
... in eine Datei.
Wie kann ich diesen Text wieder auslesen? Ich lese in der Doku das ich ein FileInputStream erzeugen muss und mit read() auslesen (siehe Originaltext unten). Aber wie kann ich diese bytes wieder in Text umwandeln (soll auf eine Textview gelegt werden)? Die üblichen Verdächtigen hab ich schon probiert. Also sowas wie
FileInputStream fis = openFileInput(FILENAME);
fis.read();
String s1 = String.valueOf( fis );
oder :
FileInputStream fis = openFileInput(FILENAME);
fis.read();
String s2 = fis.toString();
oder:
CharSequence chars = fis.toString();
Danach geb ich der Textview mit TextViewA2.setText(fis) den Text der Datei (natürlich vorher deklariert: TextView TextViewA2 = (TextView) findViewById(R.id.a2);) .
Es funktioniert einfach nicht. Entweder erscheint da sowas wie "java.io.FileInputStream@4354567" als Text auf der Textview oder es hagelt Abstürze, je nachdem in welcher Kombi.
Die Doku sagt hier:
To read a file from internal storage:
Call openFileInput() and pass it the name of the file to read. This returns a FileInputStream.
Read bytes from the file with read().
Then close the stream with close().
Bitte bitte um Hilfe, ich tu jetzt schon ewig rum... :-):confused:
AW: [Hilfe] Data Storage - File auslesen (Text)
Hallo
Hier ein Auszug aus der Javadoc:
Zitat:
FileInputStream is meant for reading streams of raw bytes such as image data. For reading streams of characters, consider using FileReader.
dH der FileInputStream liefert dir bytes und keine Strings. Das ist aber kein Problem, du brauchst es bloss korrekt zu übersetzen. Bsp:
Code:
fis = openFileInput(FILENAME);
String line;
DataInputStream dis = new DataInputStream(fis);
while((line=dis.readLine())!=null)
Log.v("Outp", line);
Gruss
Edit: Oder aber, wie die Doc vorschlägt, FileReader verwenden natürlich :)
Edit2: Noch ein Tip: Du solltest im try block das Zeugs nicht definieren, sondern ausserhalb. Der Grund ist, dass du dann im finally block alles aufräumen kannst, falls eine Exception aufgetreten ist (zB. close() aufrufen).
AW: [Hilfe] Data Storage - File auslesen (Text)
Vielen Dank für Deine hilfreichen Tipps!
Ich denke das wird mir helfen.
AW: [Hilfe] Data Storage - File auslesen (Text)
SO, nochmals vielen Dank!
Genauso hats geklappt.
AW: [Hilfe] Data Storage - File auslesen (Text)
wenn ich den filereader verwende? wie kann ich nun in ein bitmap konvertieren?