Das Speichern und Lesen von Files klappt (zumindest mit Strings).
Aber auf eine in den Ressourcen hinterlegte Datei zu zugreifen noch nicht, und eben dies ist mein Übungsziel.
Die Datei "test.txt" mit Inhalt "test" ist in res\raw\ angelegt. Sollte durch
bei Android registriert und ein Objekt der Klasse InputStream sein.
Jetzt sollte via openFileInput und FileInputStream die Datei gelesen werden, aber es geht nicht.
Code
try {
Resources res = getResources();
InputStream testDatei = res.openRawResource(R.raw.test);
FileInputStream eingabeDatei = openFileInput ("test.txt");
List<Byte> daten = new ArrayList <Byte>();
.....
Als zweiten Ansatz für das Selbe Problem versuchte ich es mit dem FileReader und BufferedReader, aber mit dem selben Ergebnis (und der selben Fehlermeldung).
Code
try {
InputStream testDatei = getResources().openRawResource(R.raw.test);
File datei = new File (getFilesDir(), "test.txt");
FileReader reader = new FileReader (datei);
BufferedReader gespeicherteDatei = new BufferedReader(reader);
//String bauen
StringBuilder sb = new StringBuilder();
String zeile;
while(true){
zeile = gespeicherteDatei.readLine();
if(zeile == null){
break;
} else {
sb.append(zeile);
sb.append('\n');
}
}
String text = sb.toString();
reader.close();
Toast.makeText(this, text+" wurde geladen mit FileReader", Toast.LENGTH_LONG).show();
} catch (Exception ex) {
Log.d("jb","Button4 "+ex.getMessage());
}
Alles anzeigen
Fehlermeldung
Code
Button5 /data/data/com.jb.datenspeichern/files/text.txt: open faile
d: ENOENT (No such file or directory)
Kurz zur Frage:
Wo ist mein Fehler? Es soll lediglich eine .txt aus dem res/raw-Ordner gelesen werden.