首页 > 编程知识 正文

linux中删除目录,java删掉指定目录

时间:2023-05-04 18:33:59 阅读:41733 作者:35

要在java中删除目录,请预先删除目录下的文件或子目录。 可以用递归实现。

公共语音戴尔(字符串文件路径) throws IOException{ )。

filef=new file (文件路径; //定义文件路径

确定是if(f.exists(f.isdirectory ) )//文件还是目录

if(f.listfiles ).length==0) )//如果目录中没有文件,则将其删除

f.delete (;

(else(/如果有,将文件放入数组,判断是否有子目录

File delFile[]=f.listFiles (;

int i=f.listFiles ().length;

for(intj=0; Jj

if(delfile[j].isdirectory () ) ) }

Del(delfile[j].getabsolutepath ); //递归调用del方法获取子目录路径

}

delFile[j].delete (; //删除文件

}

}

文件路径; //递归调用

}

}

------------- -请参阅

要删除非空目录,不仅仅是创建文件对象,然后调用delete )。 要以与平台无关的方式安全删除非空目录,还需要算法。 算法首先删除文件,然后从目录树的底部向上删除所有目录。

只需循环浏览目录中的文件并调用delete,即可清除目录中的所有文件。

staticpublicvoidemptydirectory {

文件[ ] entries=directory.list files (;

for(intI=0; I

输入[ I ].delete (;

}

}

这个简单的方法也可以用于删除整个目录结构。 如果在循环中检测到目录,则会递归调用deleteDirectory,并检查传递的参数是否为真实目录。 最后,作为参数传递的整个目录将被删除。

staticpublicvoiddeletedirectory (文件管理器) throws IOException {

if((dir==null ) |! dir.is目录) {

thrownewillegalargumentexception (

' Argument ' dir ' is not a directory.'

);

}

File[ ] entries=dir.listFiles (;

int sz=entries.length;

for(intI=0; I

if (条目[ I ].is directory () ) ) }

戴尔目录(条目[ I ];

} else {

输入[ I ].delete (;

}

}

dir.delete (;

}

Java 1.1和几个J2ME/PersonalJava变种没有File.listFiles方法。 因此,只能使用File.list。 其返回值为字符串数组,用于为每个字符串创建新的文件对象。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。