2
對於我正在開發的應用程序,我想將一些文本寫入SD卡上的文本文件。我試圖用下面的代碼來做到這一點。這給出了一個錯誤,但我不明白爲什麼。據我所知,我完全遵循了網絡上的所有例子。在logcat中,我看到了第一個日誌,但沒有看到第二個日誌,所以問題在於創建文件。你們有什麼想法嗎?嘗試保存文件時沒有此文件或目錄
public void saveDataToFile(String data, String fileName) {
Log.d("Checks", "Trying to save data");
try {
// Set up the file directory
String filePath = Environment.getExternalStorageDirectory().toString() + "/Data Folder";
File fileDirectory = new File(filePath);
fileDirectory.mkdirs();
Log.d("Checks", "Directory created");
// Set up the file itself
File textFile = new File(fileDirectory, fileName);
textFile.createNewFile();
Log.d("Checks", "File created");
// Write to the file
FileOutputStream fileOutputStream = new FileOutputStream(textFile);
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream);
outputStreamWriter.append(data);
outputStreamWriter.close();
fileOutputStream.close();
Toast.makeText(mContext, "Done writing to SD card", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(mContext, e.getMessage(), Toast.LENGTH_LONG).show();
}
}
編輯:
原來我忘了正確的權限添加到清單。它現在有效!
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
您是在模擬器中測試嗎? – iTurki
您是否聲明瞭訪問和寫入外部SD卡的正確使用權限? –
好吧,我感覺很傻!我忘了在清單中設置權限:)。 – Zero