Ich habe ein Problem mit dem Lesen und Schreiben von Dateien in den internen Speicher.Android Lesen und Schreiben von Dateien in den internen Speicher
Dies sind die Methoden i zu schreiben verwenden, um/Dateien lesen:
public static void writeFile(String fileName, String data) throws IOException {
File file = new File(activity.getFilesDir() + "/" + fileName);
file.getParentFile().mkdirs();
if (file.exists())
file.delete();
file.createNewFile();
FileOutputStream fos = new FileOutputStream(file);
fos.write(data.getBytes());
fos.close();
}
public static String readFile(String fileName) throws IOException {
FileInputStream fis = new FileInputStream(new File(activity.getFilesDir() + "/" + fileName));
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
line = br.readLine();
}
fis.close();
return sb.toString();
}
Dies funktioniert:
writeFile("fileName", "someData");
readFile("fileName");
aber nicht:
writeFile("directory/filename", "someData");
readFile("directory/filename");
Aus irgendeinem Grund, den ich Get eine FileNotFoundException: (Keine solche Datei oder Verzeichnis)
Ich habe einige andere Methoden versucht, aber nichts funktioniert mit Pfaden.
Wann haben Sie diese Ausnahme genau? – greenapps
Sie überprüfen nicht den Rückgabewert von mkdirs(); – greenapps
Sie löschen die Datei, wenn sie existiert. Das ist nicht nötig. Und Sie überprüfen nicht einmal den Rückgabewert von delete(). – greenapps