Java 删除目录时显示问题
可能重复:Java 删除目录时显示问题,java,android,Java,Android,可能重复: 在我的应用程序中,我使用内部存储(即文件)保存了所有数据。因此,首先使用ContextWrapper cw=newcontextwrapper(getApplicationContext())类i获取的目录路径为m_AllPageDirectoryPath=cw.getDir(“AllPageFolder”,Context.MODE_PRIVATE)在这个目录路径中,我保存了一些文件,如Page01、page02、Page03等等 同样在Page01内部,我保存了一些文件,比如im
在我的应用程序中,我使用内部存储(即文件)保存了所有数据。因此,首先使用
ContextWrapper cw=newcontextwrapper(getApplicationContext())代码>类i获取的目录路径为m_AllPageDirectoryPath=cw.getDir(“AllPageFolder”,Context.MODE_PRIVATE)代码>在这个目录路径中,我保存了一些文件,如Page01、page02、Page03等等
同样在Page01内部,我保存了一些文件,比如image01,image02…使用相同的概念m_PageDirectoryPath=cw.getDir(“Page01”,Context.MODE_PRIVATE)
现在删除m_AllPageDirectoryPath时,我想删除与之关联的所有文件。我试着使用这个代码,但不起作用
File file = new File(m_AllPageDirectoryPath.getPath());
file.delete();
只有当目录为空时,代码才起作用
如果目录包含文件和子目录,则必须递归删除所有文件
试试这个代码
// Deletes all files and subdirectories under dir.
// Returns true if all deletions were successful.
// If a deletion fails, the method stops attempting to delete and returns false.
public static boolean deleteDir(File dir) {
if (dir.isDirectory()) {
String[] children = dir.list();
for (int i=0; i<children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
// The directory is now empty so delete it
return dir.delete();
}
//删除目录下的所有文件和子目录。
//如果所有删除都成功,则返回true。
//如果删除失败,该方法将停止尝试删除并返回false。
公共静态布尔deleteDir(文件目录){
if(dir.isDirectory()){
String[]children=dir.list();
对于(int i=0;i+1)来说,首先删除所有文件是一个很好的概念,删除dirMy目录文件夹的结构如下。main directory->haveMoreTheOneSubdirectory->HaveMoreThenOneFile..所以我想删除特定的子目录及其文件。上面的代码删除您将在参数中给出的目录。