package homeWork;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
/*
* 从键盘接收一个文件夹路径, 删除该文件夹
*/
public class HomeWork {
public static void main(String[] args) throws IOException {
File dir = DirUtil.getDir();
System.out.println("确定要删除 " + dir.getAbsolutePath() + " 吗? (Y/N)");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
if (!"y".equalsIgnoreCase(br.readLine())) // 提示文件是不是真的要删除
return; // 结束程序
delete(dir);
}
private static void delete(File dir) throws IOException {
// 获取所有子文件
File[] subFiles = dir.listFiles();
// 遍历所有子文件
if (subFiles != null)
for (File subFile : subFiles)
if (subFile.isFile())
subFile.delete(); // 如果是文件就删除
else
delete(subFile); // 如果是文件夹就递归 这里进入了子文件夹中
// 所有子文件都删除之后, 删除当前文件夹
dir.delete();
}
public static class DirUtil {
public static File getDir() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(
System.in));
System.out.println("请输入一个文件夹路径:");
while (true) {
File file = new File(br.readLine());
if (!file.exists()) // 如果不存在, 提示, 并重输
System.out.println("该路径不存在, 请重新输入:");
else if (!file.isDirectory()) // 如果不是文件夹, 提示, 并重输
System.out.println("您输入的不是文件夹路径, 请重新输入:");
else
return file; // 如果存在, 并且是文件夹, 返回
}
}
}
} |
|