利用递归算法删除某文件夹(包括其所有的子文件及文件夹)
import java.io.File;
public class Dem01 {
public static void main(String[] args) {
File file = new File("E:\\JAVA_WORK");
deleteDirectory(file);
}
private static void deleteDirectory(File file) {
/**
* 若是文件直接删除
*/
if (file.isFile()) {
file.delete();
return;
}
if (file.isDirectory()) {
/**
* 若是文件夹,对其子文件夹递归调用deleteDirectory
*/
File[] files = file.listFiles();
for (File sub : files) {
deleteDirectory(sub);
}
String folderPath = file.getPath();
File folder = new File(folderPath);
folder.delete();
}
}
}
利用递归查看某文件夹里的所有文件目录
import java.io.File;
public class Dem02 {
public static void main(String[] args) {
File file = new File("E:\\JAVA_WORK");
listFiles(file, 0);
}
private static void listFiles(File file, int level) {
String preStr = "";
for (int i = 0; i < level; i++) {
preStr += " ";
}
System.out.println(preStr + file.getName());
if (file.isDirectory()) {
File[] files = file.listFiles();
for (File sub : files) {
listFiles(sub, level + 1);
}
}
}
}