我可以創建和使用下面的代碼共享一個.txt文件:爲什麼.txt文件不保存在內部存儲器中?
File path = new File(Environment.getExternalStorageDirectory(), "Folder");
if (!path.exists()) {
path.mkdirs();
}
File exportFile = new File(path, fileName);
FileWriter writer = new FileWriter(exportFile);
writer.append(body);
writer.flush();
writer.close();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(exportFile));
startActivity(intent);
但是我想這個文件被保存到應用程序的文件夾,而不是在SD卡上直接,所以我改成下面的代碼。它似乎沒有工作,因爲它不會創建該文件,我嘗試導出的任何應用程序都無法看到該文件。
File path = new File(this.getFilesDir(), "exports");
if(!path.exists()){
path.mkdir();
}
任何想法?我嘗試過的每件事都行不通。該文件應該保存在Android/data/[package name]文件夾中?
編輯:好吧,我不能得到這個工作,但實際上發現這不是我想要使用的方法,我想保存在Android /數據文件夾中的文件和我需要使用:
getExternalFilesDir(null)
您正在使用的文件的構造函數解釋「出口」作爲文件名,而不是文件夾名稱中寫。不知道這是否會導致您的問題。 – crocboy