Java实现文件及文件夹的删除

Java实现文件及文件夹的删除

1、删除单个文件

public static boolean deleteFile(String fileName) {
          
   
        File file = new File(fileName);
        // 如果文件路径只有单个文件
        if (file.exists() && file.isFile()) {
          
   
            if (file.delete()) {
          
   
                System.out.println("删除文件" + fileName + "成功!");
                return true;
            } else {
          
   
                System.out.println("删除文件" + fileName + "失败!");
                return false;
            }
        } else {
          
   
            System.out.println(fileName + "不存在!");
            return false;
        }
    }

2、删除文件夹及文件夹下的文件

public static boolean deleteAllFile(String dir) {
          
   
		// 如果dir不以文件分隔符结尾,自动添加文件分隔符
//		if (!dir.endsWith(File.separator))
//			dir = dir + File.separator;
		File dirFile = new File(dir);
		// 如果dir对应的文件不存在,或者不是一个目录,则退出
		if ((!dirFile.exists()) || (!dirFile.isDirectory())) {
          
   
			System.out.println("删除文件夹失败:" + dir + "不存在!");
			return false;
		}
		boolean flag = true;
		// 删除文件夹中的所有文件包括子文件夹
		File[] files = dirFile.listFiles();
		for (int i = 0; i < files.length; i++) {
          
   
			// 删除子文件
			if (files[i].isFile()) {
          
   
				flag = DeleteFile.deleteFile(files[i].getAbsolutePath());
				if (!flag)
					break;
			}
			// 删除子文件夹
			else if (files[i].isDirectory()) {
          
   
				flag = DeleteFile.deleteAllFile(files[i].getAbsolutePath());
				if (!flag)
					break;
			}
		}
		if (!flag) {
          
   
			System.out.println("删除文件夹失败!");
			return false;
		}
		// 删除当前文件夹
		if (dirFile.delete()) {
          
   
			System.out.println("删除文件夹" + dir + "成功!");
			return true;
		} else {
          
   
			return false;
		}
	}

测试:

public static void main(String[] args) {
          
   
		// 删除一个文件夹及文件夹下的文件
		String dir = "F:/c";
		DeleteFile.deleteAllFile(dir);
	}
经验分享 程序员 微信小程序 职场和发展