java删除文件夹

package com.io;

import java.io.File;

public class Demo6 {

	public static void main(String[] args) {
		File file=new File("E:\\b");
		//showFiles(file,"--");
		deleteFiles(file);
	}

	//显示文件夹的层次结构
	public static void showFiles(File root, String str) {
		File[] fileList = root.listFiles();
		for (File f : fileList) {
			System.out.println(str + f.getName());
			if (f.isDirectory()) {
				showFiles(f, "--" + str);
			}
		}
	}
	
	//删除文件夹
	public static void deleteFiles(File root){
		File[] fileList=root.listFiles();
		for (File f : fileList) {
			if(f.isFile()){
				f.delete();	
				System.out.println(f.getName()+"被删除");
			}else {
				deleteFiles(f);
			}			
		}
		root.delete();		
	}	
}

  • 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、付费专栏及课程。

余额充值