教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

delete()方法刪除文件及目錄【案例講解】

更新時(shí)間:2021年12月29日17時(shí)57分 來源:傳智教育 瀏覽次數(shù):

在操作文件時(shí),經(jīng)常需要?jiǎng)h除一個(gè)目錄下的某個(gè)文件或者整個(gè)文件夾,這時(shí)可以使用File 類的delete()方法來實(shí)現(xiàn),在使用該方法時(shí)需要判斷當(dāng)前目錄下是否存在文件,如果存在則需要先刪除內(nèi)部文件,然后再刪除空的文件夾。

接下來通過一個(gè)案例講解如何使用delete()方法刪除指定目錄下的文件和文件夾,如例7-16所示。

例7-16 Examplel6.java

import java.io.*;
public class Examplel6 | public static void main(Stríng[]] args) {
    //創(chuàng)建File對(duì)象,并指定文件路徑
    File files = new File("D:\\test\\新建文件夾“);
        //調(diào)用刪除方法
        deleteDir(files);
    }
    //刪除方法
    public static void deleteDir(File flles) {
        //獲取File對(duì)象中的所有文件,并將其放在數(shù)組中
        File[] listFiles = files.listFiles();
        //循環(huán)遍歷數(shù)組
        for (File file: listFiles) {
            //如果是目錄文件,則遞歸調(diào)用刪除方法
            if (file.isDirectory()) {
                deleteDir(file);
            }
            //如果是文件,則刪除
            file.delete();
        }
        //刪除文件夾內(nèi)所有文件后,再刪除文件夾
        23
        files.delete();
    }
}

例7-16中,指定要?jiǎng)h除文件的路徑為D:\\test\\新建文件夾(讀者測(cè)試時(shí)需要提前創(chuàng)建自行定義刪除的文件路徑),接著定義了一個(gè)刪除目錄的靜態(tài)方法deleteDir()來接收一個(gè)File類型的參數(shù)。在這個(gè)方法中,通過listFiles()方法把這個(gè)目錄下所有的子目錄和文件保存到一個(gè)File類型的數(shù)組listFiles中,然后通過for循環(huán)遍歷數(shù)組。在循環(huán)過程中,如果是目錄,就遞歸調(diào)用deleteDir()方法進(jìn)行遍歷;如果是文件,就直接調(diào)用File的delete()方法刪除。當(dāng)刪除完一個(gè)文件夾下的所有文件后,還需要?jiǎng)h除當(dāng)前這個(gè)最外層文件夾,這樣便從里層到外層遞歸地刪除了整個(gè)目錄。

注意:在Java中刪除目錄的操作是通過Java虛擬機(jī)直接刪除而不走回收站的,文件一旦刪除就無法恢復(fù),因此在進(jìn)行刪除操作時(shí)需要格外小心。






猜你喜歡:

Log4j有什么作用?它主要由哪三部分組成?

Git教程視頻:Git快速入門視頻教程

怎樣使用 this關(guān)鍵字調(diào)用本類?【案例演示】

TreeMap集合實(shí)現(xiàn)按鍵值排序

傳智教育Java開發(fā)培訓(xùn)

0 分享到:
和我們?cè)诰€交談!