我使用以下命令保存了一些文件:
File file = new File(cont.getExternalFilesDir(null), filename);
如何删除我保存的所有文件?我需要清除cont.getExternalFilesDir(null)
目录的内容。谢谢
我使用以下命令保存了一些文件:
File file = new File(cont.getExternalFilesDir(null), filename);
如何删除我保存的所有文件?我需要清除cont.getExternalFilesDir(null)
目录的内容。谢谢
如果您只想删除一个文件,您可以按照 Perroloco 的说明进行操作,但如果您需要删除所有内容,我认为 OO 方法会更好:)
首先构建一个递归删除目录中文件的方法
private void deleteAllContent(File file,String... filename) {
if (file.isDirectory())
for (File child : file.listFiles())
deleteAllContent(child);
if(filename==null)
file.delete();
else
for(String fn:filename)
if(file.getName().equals(filename))
file.delete();
}
然后你可以用你的外部文件目录调用你的新方法。
deleteAllContent(cont.getExternalFilesDir(null));
或者
deleteAllContent(cont.getExternalFilesDir(null),"myfile1","myfile2","etc");
File file = new File(cont.getExternalFilesDir(null), filename);
file.delete();
您可以使用以下方法删除删除任何Dir
内容:
private static boolean deleteDir(File dir) {
if (dir != null && dir.isDirectory()) {
String[] children = dir.list();
if (children != null) {
for (String child : children) {
boolean success = deleteDir(new File(dir, child));
if (!success) {
return false;
}
}
}
return dir.delete();
} else if (dir != null && dir.isFile()) {
return dir.delete();
} else {
return false;
}
}
然后只需调用:
try {
File dir = this.getExternalFilesDir("yourdirname");
deleteDir(dir);
} catch (Exception e) {
e.printStackTrace();
}