java刪除目錄,java刪除路徑下所有文件

本文目錄一覽:

java中怎麼刪除整個文件夾

public boolean deleteDirectory(String sPath) {

//如果sPath不以文件分隔符結尾,自動添加文件分隔符

if (!sPath.endsWith(File.separator)) {

sPath = sPath + File.separator;

}

File dirFile = new File(sPath);

//如果dir對應的文件不存在,或者不是一個目錄,則退出

if (!dirFile.exists() || !dirFile.isDirectory()) {

return false;

}

flag = true;

//刪除文件夾下的所有文件(包括子目錄)

File[] files = dirFile.listFiles();

for (int i = 0; i files.length; i++) {

//刪除子文件

if (files[i].isFile()) {

flag = deleteFile(files[i].getAbsolutePath());

if (!flag) break;

} //刪除子目錄

else {

flag = deleteDirectory(files[i].getAbsolutePath());

if (!flag) break;

}

}

if (!flag) return false;

//刪除當前目錄

if (dirFile.delete()) {

return true;

} else {

return false;

}

}

用java寫一個方法,用於徹底刪除一個目錄,注:該目錄為多級目錄,且目錄下有文件。

import java.io.File;

public class DeleteDirectory {

    /**

     * 刪除空目錄

     * @param dir 將要刪除的目錄路徑

     */

    private static void doDeleteEmptyDir(String dir) {

        boolean success = (new File(dir)).delete();

        if (success) {

            System.out.println(“Successfully deleted empty directory: ” + dir);

        } else {

            System.out.println(“Failed to delete empty directory: ” + dir);

        }

    }

    /**

     * 遞歸刪除目錄下的所有文件及子目錄下所有文件

     * @param dir 將要刪除的文件目錄

     * @return boolean Returns “true” if all deletions were successful.

     *                 If a deletion fails, the method stops attempting to

     *                 delete and returns “false”.

     */

    private static boolean deleteDir(File dir) {

        if (dir.isDirectory()) {

            String[] children = dir.list();

 //遞歸刪除目錄中的子目錄下

            for (int i=0; ichildren.length; i++) {

                boolean success = deleteDir(new File(dir, children[i]));

                if (!success) {

                    return false;

                }

            }

        }

        // 目錄此時為空,可以刪除

        return dir.delete();

    }

    /**

     *測試

     */

    public static void main(String[] args) {

        doDeleteEmptyDir(“new_dir1”);

        String newDir2 = “new_dir2”;

        boolean success = deleteDir(new File(newDir2));

        if (success) {

            System.out.println(“Successfully deleted populated directory: ” + newDir2);

        } else {

            System.out.println(“Failed to delete populated directory: ” + newDir2);

        }     

    }

}

Java如何刪除文件夾下的子目錄及其包含的子文件

下面給你介紹Java刪除文件夾下的子目錄及其包含的子文件的方法:

package com.cn.test1;

import java.io.File;

public class DeleteAllFiles {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

String filePath = “e:\\fq\\”;

System.out.println(“開始刪除文件”);

File file = new File(filePath);

// deleteFile(file);

deleteAllFilesOfDir(file);

System.out.println(“刪除成功!!”);

}

//遞歸刪除文件夾(方法一)

public static void deleteFile(File file) {

if (file.exists()) {//判斷文件是否存在

if (file.isFile()) {//判斷是否是文件

file.delete();//刪除文件

} else if (file.isDirectory()) {//否則如果它是一個目錄

File[] files = file.listFiles();//聲明目錄下所有的文件 files[];

for (int i = 0;i files.length;i ++) {//遍歷目錄下所有的文件

deleteFile(files[i]);//把每個文件用這個方法進行迭代

}

file.delete();//刪除文件夾

}

} else {

System.out.println(“所刪除的文件不存在”);

}

}

//方法二

public static void deleteAllFilesOfDir(File path) {

if (!path.exists())

return;

if (path.isFile()) {

path.delete();

return;

}

File[] files = path.listFiles();

for (int i = 0; i files.length; i++) {

deleteAllFilesOfDir(files[i]);

}

path.delete();

}

}

原創文章,作者:QGDG,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/142936.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
QGDG的頭像QGDG
上一篇 2024-10-14 18:43
下一篇 2024-10-14 18:44

相關推薦

發表回復

登錄後才能評論