java删除文件夹

Path dir = Paths.get("c:"++ File.separator +"images");
		if (Files.exists(dir)) {
			try {
				Files.walkFileTree(dir, new SimpleFileVisitor<Path>() {
					/**
					 * 文件删除
					 */
					@Override
					public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
						Files.delete(file);
						return FileVisitResult.CONTINUE;// 没找到继续找
					}
					/**
					 *删除文件夹
					 */
					@Override
					public FileVisitResult postVisitDirectory(Path dir, IOException e) throws IOException {
						if (e == null) {
							Files.delete(dir);
							return FileVisitResult.CONTINUE;// 没找到继续找
						} else {
							throw e;
						}
					};
				});
			} catch (IOException e) {
			}
		}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了删除Java中的文件夹,你可以使用以下几种方法: 方法一:使用递归删除文件夹及其文件。 ```java File file = new File("E:/河南省乡镇点/GIS/"); deleteFile(file); public static void deleteFile(File file) { File[] files = file.listFiles(); for (File f : files) { if (f.isFile()) { f.delete(); } else { deleteFile(f); } } file.delete(); } ``` 方法二:使用Files.walkFileTree方法遍历删除文件夹及其文件。 ```java Path path = Paths.get("E:\\河南省乡镇点\\GIS"); Files.walkFileTree(path, new SimpleFileVisitor<>() { @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { Files.delete(file); return FileVisitResult.CONTINUE; } @Override public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException { Files.delete(dir); return FileVisitResult.CONTINUE; } }); ``` 方法三:使用强制删除,如果一次删除失败,则进行多次尝试,直到删除成功为止。 ```java File file = new File("E:/河南省乡镇点/GIS/");forceDelete(file); public static boolean forceDelete(File file) { boolean result = file.delete(); int tryCount = 0; while (!result && tryCount < 10) { System.gc(); result = file.delete(); tryCount++; } return result; } ``` 方法四:利用NIO流删除文件夹及其文件。 ```java Path path = Paths.get("E:/河南省乡镇点/GIS/"); try (Stream<Path> walk = Files.walk(path)) { walk.sorted(Comparator.reverseOrder()) .map(Path::toFile) .forEach(File::delete); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值