我在讀取和寫入文件到內部存儲時遇到問題。Android將文件讀取和寫入內部存儲
這些都是我用寫的方法/讀取文件:
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();
}
這工作:
writeFile("fileName", "someData");
readFile("fileName");
但這並不:
writeFile("directory/filename", "someData");
readFile("directory/filename");
出於某種原因,我得到一個FileNotFoundException:(沒有這樣的文件或目錄)
我嘗試了一些其他方法,但沒有任何工作與路徑。
什麼時候你完全有這個異常? – greenapps
您沒有檢查mkdirs()的返回值; – greenapps
如果文件存在,您將刪除該文件。這不是必需的。而且你甚至沒有檢查delete()的返回值。 – greenapps