public static void main(String[] args) throws IOException, InterruptedException {
File file = new File("D:\\Documents\\excel");
File parentFile = file.getParentFile();
if (!parentFile.exists()) {
parentFile.mkdirs();
}
if (!file.exists()) {
file.createNewFile();
}
boolean b = recursionDelete1(file);
System.out.println("b = " + b);
//****************************************************************************************
Path path = Paths.get("D:\\Documents\\excel2");
Path parent = path.getParent();
if (!Files.exists(parent)) {
Files.createDirectories(parent);
}
if (!Files.exists(path)) {
Files.createFile(path);
}
System.out.println("path = " + path.toAbsolutePath());
recursionDelete2(path);
}
public static boolean recursionDelete1(File file) {
boolean bool = false;
if (file.isDirectory()) {
File[] files = file.listFiles();
for (File f : files) {
System.out.println("f.getAbsolutePath() = " + f.getAbsolutePath());
if (f.isDirectory()) {
bool = recursionDelete1(f);
}
bool = f.delete();
}
bool = file.delete();
} else {
bool = file.delete();
}
return bool;
}
public static void recursionDelete2(Path path) throws IOException {
if (Files.isDirectory(path)) {
Stream<Path> files = Files.list(path);
files.forEach(path1 -> {
System.out.println("path1 = " + path1.toAbsolutePath());
if (Files.isDirectory(path1)) {
try {
recursionDelete2(path1);
} catch (IOException e) {
e.printStackTrace();
}
}
try {
Files.deleteIfExists(path1);
} catch (IOException e) {
e.printStackTrace();
}
});
Files.deleteIfExists(path);
} else {
Files.deleteIfExists(path);
}
}
递归删除文件及文件夹的两种方式
于 2024-01-24 16:34:01 首次发布