我已经使用Android内部存储为我的应用程序保存文件(使用openFileOutput)但我想删除该文件,是否可能以及如何?
plu*_*ind 99
File dir = getFilesDir();
File file = new File(dir, "my_filename");
boolean deleted = file.delete();
Run Code Online (Sandbox Code Playgroud)
Bar*_*rry 19
我知道这有点像老人,但文档说要使用:
deleteFile("filename");
Run Code Online (Sandbox Code Playgroud)
而不是:
File.delete();
Run Code Online (Sandbox Code Playgroud)
如果你已经在使用:
getFilesDir();
Run Code Online (Sandbox Code Playgroud)
有点理智.
如果要删除文件夹中的所有文件,请使用以下功能:
private void deleteTempFolder(String dir) {
File myDir = new File(Environment.getExternalStorageDirectory() + "/"+dir);
if (myDir.isDirectory()) {
String[] children = myDir.list();
for (int i = 0; i < children.length; i++) {
new File(myDir, children[i]).delete();
}
}
}
Run Code Online (Sandbox Code Playgroud)
文件夹必须存在于存储中。如果没有,我们可以再检查一个代码。
if (myDir.exists() && myDir.isDirectory()) {
//write same defination for it.
}
Run Code Online (Sandbox Code Playgroud)
小智 6
您应该始终删除不再需要的文件。删除文件最直接的方法是对打开的文件引用调用 delete() 本身。
myFile.delete();
如果文件保存在内部存储中,您还可以通过调用 deleteFile() 要求 Context 定位和删除文件:
myContext.deleteFile(fileName);
注意:当用户卸载您的应用时,Android 系统会删除以下内容: 您保存在内部存储上的所有文件 您使用getExternalFilesDir(). 但是,您应该手动删除getCacheDir()定期创建的所有缓存文件,并定期删除您不再需要的其他文件。
来源:http : //developer.android.com/training/basics/data-storage/files.html