我正在嘗試寫入Android中的文本文件。我的代碼如下(以服務運行):寫入文件不能在Android中工作
File log; String state = Environment.getExternalStorageState();
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
if (Environment.MEDIA_MOUNTED.equals(state) || Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
log = new File(path, "log.csv");
System.out.println("Opening file");
} else {
System.err.println("Could not write to external storage medium. No log will be created");
return;
}
String line = "stuff";
if (!log.exists()) {
try {
log.createNewFile();
System.out.println("Creating new log file.");
} catch (IOException e) {
System.err.println("Could not create new log file");
e.printStackTrace();
return;
}
}
try {
path.mkdirs();
BufferedWriter bw = new BufferedWriter(new FileWriter(log, true));
bw.append(line);
System.out.println("Appending to log file.");
bw.newLine();
bw.flush();
bw.close();
} catch (IOException e) {
System.err.println("Failed to write to log file");
e.printStackTrace();
return;
}
而且我已經把下面一行在AndroidManifest.xml:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
當我運行這一點,以下是logcat的印刷:
Opening file
Appending to log file.
但我不能找到在手機內存中的指定名稱的任何文件,儘管在尋找所需的目錄並運行一個搜索,看看它是否在其他地方代替。
我不確定會出現什麼問題。有任何想法嗎?謝謝!
感謝。這解決了它。 – Froskoy 2013-02-13 16:45:37