用java8實現6行程式碼搞定遞迴刪除多級非空目錄
阿新 • • 發佈:2018-11-27
在review 程式碼的時候,看到同事寫的程式碼刪除多級非空目錄,寫的很長一串,太複雜,就自己寫了一個,分享給大家:
package com.test.java8; import java.io.File; import java.util.Arrays; import java.util.Objects; /** * @author KEVIN */ public interface FileUtil { static void main(String[] args) { File f = new File("D:\\mydir\\新建資料夾"); System.out.println(f.getName()); System.out.println("建立資料夾:" + createDirs("D:\\mydir\\新建資料夾")); // System.out.println("removed:" + remove(f)); } /** * 遞迴刪除檔案(夾) * * @param file 待刪除的檔案(夾) * @return */ static boolean remove(File file) { if (!file.exists()) { return false; } if (file.isFile()) { return file.delete(); } Arrays.asList(file.listFiles()).forEach(FileUtil::remove); return file.delete(); } /** * 建立多級目錄 * * @param dirPath * @return */ static boolean createDirs(String dirPath) { if (Objects.equals("", dirPath) || Objects.equals(null, dirPath)) { return false; } File file = new File(dirPath); if (file.exists()) { return true; } return file.mkdirs(); } }