递归删除文件夹和遍历打印文件夹
递归删除文件夹
自己的代码:
import java.io.File;
public class Demo04 {
public static void main(String[] args) {
delDir(new File("E:\\abc"));
}
private static void delDir(File file) {
//判断是否是文件夹
if (file.isDirectory()) {
//遍历文件夹
File[] files = file.listFiles();
for (File file2 : files) {
//递归再次判断
delDir(file2);
}
}
//不是文件夹,文件直接删除
file.delete();
}
}
老师的代码:
public class Demo01 {
public static void main(String[] args) {
removeDir(new File("D:/abc"));
}
//删除文件夹
public static void removeDir(File dir) {
if (dir.isDirectory()) {
//删除文件夹
File[] files = dir.listFiles();//拿到文件夹所有的子文件
for (File file : files) {//目的是删除dir中的内容
if (file.isFile()) {
//文件
file.delete();
System.out.println("删除文件:" + file);
} else {
//文件夹
removeDir(file);
}
}
dir.delete();
System.out.println("删除文件夹:" + dir);
} else if (dir.isFile()) {
dir.delete();
}
}
}
递归打印文件夹所有内容
import java.io.File;
public class Test02 {
public static void main(String[] args) {
File file = new File("E:/abc");
printAllFile(file);
}
private static void printAllFile(File file) {
File[] files = file.listFiles();
for (File f : files) {
if(f.isFile()){
//是文件
System.out.println(f.getAbsolutePath());
} else {
//文件夹,继续遍历
printAllFile(f);
}
}
}
}
/*
打印结果:
E:\abc\2018年全国青少年禁毒知识竞赛题库.pdf
E:\abc\code\demo01\Demo03.java
E:\abc\code\demo01\Demo04.java
E:\abc\code\Demo01.java
E:\abc\code\Demo02.java
E:\abc\file03.txt
E:\abc\HelloWorld.java
E:\abc\IT书籍\C从入门到放弃.pdf
E:\abc\IT书籍\Java从入门到精通.pdf
E:\abc\哈利波特.txt
E:\abc\数学之美.PDF
E:\abc\朝花夕拾.txt
E:\abc\流浪地球.avi
E:\abc\百年孤独.txt
*/
唯有努力,人生没有白走的路,每一步都算数

浙公网安备 33010602011771号