代码:

import java.io.IOException;
import java.nio.file.FileVisitOption;
import java.nio.file.FileVisitResult;
import java.nio.file.FileVisitor;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.EnumSet;
class DeleteDirectory implements FileVisitor {
boolean deleteFileByFile(Path file) throws IOException {
return Files.deleteIfExists(file);
}
@Override
public FileVisitResult postVisitDirectory(Object dir, IOException exc)
throws IOException {
if (exc == null) {
System.out.println("Visited: " + (Path) dir);
boolean success = deleteFileByFile((Path) dir);
if (success) {
System.out.println("Deleted: " + (Path) dir);
} else {
System.out.println("Not deleted: " + (Path) dir);
}
} else {
throw exc;
}
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult preVisitDirectory(Object dir, BasicFileAttributes attrs)
throws IOException {
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult visitFile(Object file, BasicFileAttributes attrs)
throws IOException {
boolean success = deleteFileByFile((Path) file);
if (success) {
System.out.println("Deleted: " + (Path) file);
} else {
System.out.println("Not deleted: " + (Path) file);
}
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult visitFileFailed(Object file, IOException exc)
throws IOException {
//report an error if necessary
return FileVisitResult.CONTINUE;
}
}
class Main {
public static void main(String[] args) throws IOException {
Path directory = Paths.get("C:/rafaelnadal");
DeleteDirectory walk = new DeleteDirectory();
EnumSet opts = EnumSet.of(FileVisitOption.FOLLOW_LINKS);
Files.walkFileTree(directory, opts, Integer.MAX_VALUE, walk);
}
}

Java中创建操作文件和文件夹的工具类

Java中创建操作文件和文件夹的工具类 FileUtils.java import java.io.BufferedInputStream; import java.io.BufferedOutput ...

Java生成和操作Excel文件(转载)

Java生成和操作Excel文件   JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该A ...

java io流 对文件夹的操作

java io流 对文件夹的操作 检查文件夹是否存在 显示文件夹下面的文件 ....更多方法参考 ,与文 ...

Java操作文件夹的工具类

Java操作文件夹的工具类 import java.io.File; public class DeleteDirectory { /** * 删除单个文件 * @param fileName 要删除 ...

Java 字符流实现文件读写操作(FileReader-FileWriter)

Java 字符流实现文件读写操作(FileReader-FileWriter) 备注:字符流效率高,但是没有字节流底层 字节流地址:http://pengyan5945.iteye.com/blog/ ...

Java NIO Path接口和Files类配合操作文件

Java NIO Path接口和Files类配合操作文件 @author ixenos Path接口 1.Path表示的是一个目录名序列,其后还可以跟着一个文件名,路径中第一个部件是根部件时就是绝对路 ...

java中io对文件操作的简单介绍

11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程 ...

JAVA使用和操作properties文件

java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式,在properti ...

java IO流 对文件操作的代码集合

Io流 按照分类 有两种分类 流向方向: 有输入流和输出流 按照操作类型有:字节流和字符流 按照流向方向 字节流的一些操作 //读文件 FileInputStream fis = new FileIn ...

随机推荐

MySQL中表名大小写问题

在设计数据表时,有自己特有的规则:英文单词的首字母大写,比如表名User, Article, UserRole, 等等,这种办法使用得很顺手习惯,在以往使用的MS SQL Server.MS Acce ...

C## 输出Hello world

首先新建一个项目 然后在文件D:\C##Obj\HelloWorld\HelloWorld\Program.cs using System; using System.Collections.Gene ...

Black Box

http://poj.org/problem?id=1442 #include #include #include

premake在Ubuntu和GCC环境下创建简单的C++工程

由于premake基于lua脚本,为了方便编辑lua脚本,我在emacs24中利用package system安装了lua-mode. 然后创建config.lua文件,填入下面这段,主要来自:htt ...

文件合并工具DiffMerge发布4.2版本

DiffMerge一直是文件对比合并工具的佼佼者,其最大特点是多文件对比与合并,并提供可视化界面用于编辑. 此次DiffMerge v4.2发布,提高了文件差异对比,并提供了快速匹配功能,以及更好的用 ...

C# Winform 中DataGridView 实现单元格输入下拉框功能

private void dataGridViewX1_EditingControlSh ...

Mac上Homebrew的安装

Mac系统版本: 10.14.2 下载brew_install 访问:https://raw.githubusercontent.com/Homebrew/install/master/install ...

2018牛客网暑假ACM多校训练赛(第三场)I Expected Size of Random Convex Hull 计算几何,凸包,其他

原文链接 题目传送门 - 2018牛客多校赛第三场 I ...

gym 101081 E. Polish Fortress 几何

E. Polish Fortress time limit per test 2.0 s memory limit per test 256 MB input standard input outpu ...

dos中的延迟环境变量扩展

一.前言 昨天在写bat脚本的时候,发现在for里面的set命令竟然不起作用!于是搜了一下,前面的几篇都有说到这个是变量扩展的问题,但是什么是变量扩展?为什么会出现这种问题,什么又是延迟环境变量扩展? ...