java删除一个目录下所有文件,java删除目录及子目录
删除()方法可用于删除文件或空目录/文件夹,如果文件被删除,删除()方法返回没错,如果文件不存在则返回错误。
如果删除目录,删除()方法检查目录是否为空,如果目录为空,则删除目录,否则删除()方法不会执行任何操作并返回假的,所以在这种情况下,必须递归删除所有文件,然后再删除目录。
删除非空目录的另一种方法是使用Files.walkFileTree()方法,在这种方法中,可以逐个处理所有文件,并在单个文件对象上调用删除()方法。
删除文件示例:
包com。日志开发。文件;导入Java。io。文件;公共类DeleteFileJava {
/**
* 此类显示如何在爪哇中删除文件
* @param args
*/
公共静态void main(String[] args) {
//带路径的文件名
File File=new File( tmp/tmp 2/File。txt’);
if(file.delete()){
系统。出去。println( tmp/tmp 2/File。文本文件(textfile)文件已删除);
}else System.out.println(文件tmp/tmp2/file.txt不存在);
//只提供文件名称
文件=新文件(文件。txt’);
if(file.delete()){
System.out.println(file.txt文件从项目根目录删除);
} else系统。出去。println( File文件。文本文件(textfile)在项目根目录下不存在);
//相对路径
文件=新文件( temp/File。txt’);
if(file.delete()){
System.out.println(从项目根目录删除的temp/file.txt文件);
}else System.out.println(项目根目录下不存在文件临时/文件。txt’);
//删除空的目录
文件=新文件( temp );
if(file.delete()){
System.out.println("从项目根目录中删除的临时目录");
}else System.out.println(项目根目录中临时雇员目录不存在或不为空);
//试图删除非空目录
File=new File( D:/user/maxsu/project );
if(file.delete()){
系统。出去。println( D:/user/maxsu/Project目录从项目根目录中删除);
} else系统。出去。println( D:/user/maxsu/project目录不存在或不为空);
}}注意:与createNewFile()不同,delete方法不会抛出IOException异常。
下面是一个简单的程序,演示如何删除非空目录,如果目录包含有文件,删除目录不会成功。
删除目录示例:
导入Java。io。文件;公共类JavaDeleteDirectory {
公共静态void main(String[] args) {
文件目录=新文件( D:/worksp/Java/log );
if(dir.isDirectory()==false) {
System.out.println(不是目录。什么都不做);
返回;
}
file[]列出文件=目录。列出文件();
对于(文件文件:列表文件){
系统。出去。println(删除文件。getname());
文件。delete();
}
//现在目录为空,所以可以删除它
System.out.println(删除目录成功= dir。delete());
}}递归删除目录示例:
导入Java。io。io异常;
导入Java。nio。文件。filevisitresult
导入Java。nio。文件。文件;
导入Java。nio。文件。路径;
导入Java。nio。文件。路径;
导入Java。nio。文件。简单的文件访问者;
导入Java。nio。文件。属性。basicfileattributes
公共类奇怪的是{
公共静态void main(String[] args)引发IOException {
路径目录=路径。get( D:/worksp/maxsu/log));
Files.walkFileTree(目录,新的SimpleFileVisitorPath() {
@覆盖
公共文件VisitResult访问文件(路径文件,基本文件属性)引发IOException {
文件.删除(文件);//有效,因为它始终是一个文件
返回文件访问结果.继续;
}
@覆盖
公共文件访问结果访问后目录(路径dir,IOException exc)抛出IOException {
Files.delete(目录);//这将起作用,因为目录中的文件已被删除
返回FileVisitResult。继续;
}
});
}}推荐教程:java入门教程以上是如何在java中删除文件和目录的细节。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。