java 如何删除本地文件夹下的所有文件,包括文件夹???

容颜易殇2 2013-09-22 06:32:44
java 如何删除本地文件夹下的所有文件,包括文件夹???[/color]
...全文
2601 8 打赏 收藏 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
末日哥 2013-09-23
  • 打赏
  • 举报
回复
调用dos命令也是可以的
ceclinux 2013-09-23
  • 打赏
  • 举报
回复
引用 5 楼 u010203372 的回复:
public static void deleteAll(File path) { if (!path.exists()) //路径存在 return; if (path.isFile()) { //是文件 path.delete(); return; } File[] files = path.listFiles(); for (int i = 0; i < files.length; i++) { deleteAll(files[i]); } path.delete(); } 这个是我在网上看到的考虑的比较全面的一个,不过还是很感谢各位
你这样还不如我原来的好,没有file直接return,你根本不知道有没有文件,有没有删掉,什么信息都没有 可以抛出错误
import java.io.File;
import java.io.IOException;


public class DeleteFile {
public static void main(String[] args) {
	File f=new File("./try/");
	try {
		System.out.println(f.getCanonicalPath());
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
		System.out.println("Sorry,can't get canonical path");
	}
	recurDelete(f);
//	System.out.println(f.list());
}
public static void recurDelete(File f){
	try{
	for(File fi:f.listFiles()){
		if(fi.isDirectory()){
			recurDelete(fi);
		}
		else{
			fi.delete();
		}
	}
	f.delete();
	}
	catch(NullPointerException n){
		System.out.println("Sorry,No such file");
	}
	
	
	
}
}
容颜易殇2 2013-09-23
  • 打赏
  • 举报
回复
public static void deleteAll(File path) { if (!path.exists()) //路径存在 return; if (path.isFile()) { //是文件 path.delete(); return; } File[] files = path.listFiles(); for (int i = 0; i < files.length; i++) { deleteAll(files[i]); } path.delete(); } 这个是我在网上看到的考虑的比较全面的一个,不过还是很感谢各位
容颜易殇2 2013-09-23
  • 打赏
  • 举报
回复
Cecil_911 : 上面粘贴代码的那位大哥,能不能给个详细的解决方案,如果你穿的参数 file 不存在,或者,file只是一个文件,上面的代码是不是有可能报错呢????
ceclinux 2013-09-23
  • 打赏
  • 举报
回复
rm -rf更加快
引用 7 楼 fudongrifdr 的回复:
调用dos命令也是可以的
幽饮烛 2013-09-22
  • 打赏
  • 举报
回复
LS 的写法是比较常用的方式,可以参考 ant 里面删除目录的代码,原理跟 LS 的差不多。
ceclinux 2013-09-22
  • 打赏
  • 举报
回复
import java.io.File;
import java.io.IOException;


public class DeleteFile {
public static void main(String[] args) throws IOException{
	File f=new File("./try/");
	System.out.println(f.getCanonicalPath());
	recurDelete(f);
//	System.out.println(f.list());
}
public static void recurDelete(File f){
	for(File fi:f.listFiles()){
		if(fi.isDirectory()){
			recurDelete(fi);
		}
		else{
			fi.delete();
		}
	}
	f.delete();
}
}
你在自己的工作目录下建立一个叫做try的文件夹然后放入一些没用的东西试试
失落夏天 2013-09-22
  • 打赏
  • 举报
回复
file.deleteOnExit();

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧