Java之File如何刪除檔案和資料夾方法
阿新 • • 發佈:2019-02-18
boolean
刪除此抽象路徑名錶示的檔案或目錄。刪除檔案:存在檔案則直接刪除返回true,如果不存在返回false
刪除目錄:
①:為空:直接刪除
②:不為空:刪不掉 (需要先刪除資料夾裡面所有檔案,再刪除資料夾)
③:不存在直接返回false
注意:delete方法 ==》直接從磁碟中刪除,不能像回收站一樣可以恢復!!
/** * File刪除檔案和資料夾方法: * 1.刪除檔案:存在檔案則直接刪除返回true,如果不存在返回false * 2.刪除目錄: * ①:為空:直接刪除 * ②:不為空:刪不掉 (需要先刪除資料夾裡面所有檔案,再刪除資料夾) * ③:不存在直接返回false * 注意:delete方法 ==》直接從磁碟中刪除,不能像回收站一樣可以恢復!! * @author 鄭清 */ public class Demo { public static void main(String[] args) { //刪除D:/1 路徑下的1.txt檔案 File file = new File("D:/1/1.txt"); System.out.println(file.delete()); //刪除D:/1 路徑下的新建資料夾 為空的話可直接使用delete方法刪除 File file2 = new File("D:/1/新建資料夾"); System.out.println(file2.delete()); //刪除D:/1 路徑下的新建資料夾2 不為空的情況下 ==》deleteFile 先刪除資料夾裡的所有檔案 再刪除資料夾 File file3 = new File("D:/1/新建資料夾2"); deleteFile(file3); } /* * 如果是檔案 ==》直接刪除 * 如果是目錄 ==》必須先刪除裡面每一層目錄裡的所有檔案,最後才能刪除外層的目錄 * 原因:不為空的話 刪不了 */ public static void deleteFile(File file) { if(file.exists()) {//判斷路徑是否存在 if(file.isFile()){//boolean isFile():測試此抽象路徑名錶示的檔案是否是一個標準檔案。 file.delete(); }else{//不是檔案,對於資料夾的操作 //儲存 路徑D:/1/新建資料夾2 下的所有的檔案和資料夾到listFiles陣列中 File[] listFiles = file.listFiles();//listFiles方法:返回file路徑下所有檔案和資料夾的絕對路徑 for (File file2 : listFiles) { /* * 遞迴作用:由外到內先一層一層刪除裡面的檔案 再從最內層 反過來刪除資料夾 * 注意:此時的資料夾在上一步的操作之後,裡面的檔案內容已全部刪除 * 所以每一層的資料夾都是空的 ==》最後就可以直接刪除了 */ deleteFile(file2); } } file.delete(); }else { System.out.println("該file路徑不存在!!"); } } }