package cn.edu.lit.demo1; import java.io.File; import java.util.Scanner; /* * 从键盘接收一个文件夹路径,删除该文件夹。 */ public class Demo03 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个文件夹的绝对路径:"); String folderName = sc.nextLine(); boolean result = deleteFolder(folderName); System.out.println(result); } /** * 根据路径删除目录,不管是否存在该目录 * @param sPath 要删除的目录path * @return 删除成功返回true,否则返回false */ public static boolean deleteFolder(String sPath) { boolean flag = false; File file = new File(sPath); if(!file.exists()) { return false; }else { if(file.isFile()) { flag = deleteFile(sPath); }else { flag = deleteDirectory(sPath); } } return flag; } /** * 删除打单个文件 * @param sPath 被删除文件path * @return 文件删除成功返回true,否则返回false */ public static boolean deleteFile(String sPath) { boolean flag = false; File file = new File(sPath); //如果文件存在并且是文件,删除改文件 if(file.exists()&&file.isFile()) { flag = file.delete(); return flag; } return false; } /** * 删除目录以及目录下的文件 * @param sPath * @return */ public static boolean deleteDirectory(String sPath) { //如果文件不是以文件分隔符结尾,自动添加 if(!sPath.endsWith(File.separator)) { sPath = sPath+File.separator; } File file = new File(sPath); //如果file不存在或者不是目录则退出 if(!file.exists()||!file.isDirectory()) { return false; } boolean flag = false; //删除文件夹下的所有文件(包括子目录) File[] files = file.listFiles(); for(File f : files) { if(f.isFile()) { flag=deleteFile(f.getAbsolutePath()); if(!flag) { break; } }else { flag = deleteDirectory(f.getAbsolutePath()); if(!flag) { break; } } } //删除当前目录 if(file.delete()) { return true; }else { return false; } } }
Java-IO-删除文件目录
最新推荐文章于 2023-06-03 18:38:47 发布