Java删除文件、目录及目录下所有文件的方法实例
前言
本文主要实现的功能是删除某个目录及目录下的所有子目录和文件,涉及到的知识点:File.delete()用于删除“某个文件或者空目录”!所以要删除某个目录及其中的所有文件和子目录,要进行递归删除。
具体代码示例如下:
importjava.io.File;
publicclassDeleteDirectory{
/**
*删除空目录
*@paramdir将要删除的目录路径
*/
privatestaticvoiddoDeleteEmptyDir(Stringdir){
booleansuccess=(newFile(dir)).delete();
if(success){
System.out.println("Successfullydeletedemptydirectory:"+dir);
}else{
System.out.println("Failedtodeleteemptydirectory:"+dir);
}
}
/**
*递归删除目录下的所有文件及子目录下所有文件
*@paramdir将要删除的文件目录
*@returnbooleanReturns"true"ifalldeletionsweresuccessful.
*Ifadeletionfails,themethodstopsattemptingto
*deleteandreturns"false".
*/
privatestaticbooleandeleteDir(Filedir){
if(dir.isDirectory()){
String[]children=dir.list();
//递归删除目录中的子目录下
for(inti=0;i<children.length;i++){
booleansuccess=deleteDir(newFile(dir,children[i]));
if(!success){
returnfalse;
}
}
}
//目录此时为空,可以删除
returndir.delete();
}
/**
*测试
*/
publicstaticvoidmain(String[]args){
doDeleteEmptyDir("new_dir1");
StringnewDir2="new_dir2";
booleansuccess=deleteDir(newFile(newDir2));
if(success){
System.out.println("Successfullydeletedpopulateddirectory:"+newDir2);
}else{
System.out.println("Failedtodeletepopulateddirectory:"+newDir2);
}
}
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。