首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 遞迴讀取與刪除資料夾下所有檔案

     編輯:Java 相關知識

Java 遞迴讀取與刪除資料夾下所有檔案。本站提醒廣大學習愛好者:此文章僅供參考,不一定能完全符合您的需求。以下是完整範例正文


Java 實作讀取、刪除資料夾下的檔案

package test.com;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;

public class ReadFile {
    public ReadFile() { }

    /** 讀取某個資料夾下的所有檔案 */
    public static boolean readfile(String filepath) throws FileNotFoundException, IOException {
        try {
            File file = new File(filepath);
            if (!file.isDirectory()) {
                System.out.println(file.getName());
            } else if (file.isDirectory()) {
                String[] filelist = file.list();
                for (int i = 0; i < filelist.length; i++) {
                    File readfile = new File(filepath + "\\" + filelist[i]);
                    if (!readfile.isDirectory()) {
                        System.out.println(readfile.getName());
                    } else if (readfile.isDirectory()) {
                        readfile(filepath + "\\" + filelist[i]);
                    }
                }
            }
        } catch (FileNotFoundException e) {
            System.out.println("readfile() Exception:" + e.getMessage());
        }
        return true;
    }

    /** 刪除某個資料夾下的所有資料夾和檔案 */
    /*public static boolean deletefile(String delpath) throws FileNotFoundException, IOException {
        try {
            File file = new File(delpath);
            if (!file.isDirectory()) {
                System.out.println("1");
                file.delete();
            } else if (file.isDirectory()) {
                System.out.println("2");
                String[] filelist = file.list();
                for (int i = 0; i < filelist.length; i++) {
                    File delfile = new File(delpath + "\\" + filelist[i]);
                    if (!delfile.isDirectory()) {
                        System.out.println("path=" + delfile.getPath());
                        System.out.println("absolutepath=" + delfile.getAbsolutePath());
                        System.out.println("name=" + delfile.getName());
                        delfile.delete();
                        System.out.println("刪除檔案成功");
                    } else if (delfile.isDirectory()) {
                        deletefile(delpath + "\\" + filelist[i]);
                    }
                }
                file.delete();
            }
        } catch (FileNotFoundException e) {
            System.out.println("deletefile() Exception:" + e.getMessage());
        }
        return true;
    }*/

    public static void main(String[] args) {
        try {
            readfile("C:\\Users\\SW\\Desktop\\SKJ_H25補正\\004_RCAG\\003_SKJ");
            // deletefile("D:/file");
        } catch (FileNotFoundException ex) { } catch (IOException ex) { }
        System.out.println("ok");
    }
}

方法二:

package otherstudy;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * @ClassName: TestReadFile
 * @CreateTime: Aug 1, 2014 11:42:44 AM
 * @Author: mayi
 * @Description: 讀取和刪除資料夾下的所有檔案
 */
public class TestReadFile {
    /** 取得專案 WebRoot 的相對路徑 */
    String getProjectPath() {
        String path = this.getClass().getResource("/").getPath();
        path = path.substring(1, path.indexOf("WEB-INF/classes"));
        System.out.println("專案路徑:" + path);
        return path;
    }

    public static void main(String[] args) {
        TestReadFile trf = new TestReadFile();
        String xmlPath = trf.getProjectPath() + "testDocs";
        try {
            readAllFile(xmlPath);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /** 讀取指定路徑資料夾下的所有檔案 */
    public static boolean readAllFile(String filepath) throws FileNotFoundException, IOException {
        try {
            File file = new File(filepath);
            if (!file.isDirectory()) {
                System.out.println("\n檔案資訊:");
                System.out.println("\t絕對路徑=" + file.getPath());
                System.out.println("\t相對路徑=" + file.getAbsolutePath());
                System.out.println("\t檔案全名=" + file.getName());
            } else if (file.isDirectory()) {
                System.out.println("\n資料夾內檔案列表資訊:");
                File[] fileList = file.listFiles();
                for (int i = 0; i < fileList.length; i++) {
                    File readfile = fileList[i];
                    if (!readfile.isDirectory()) {
                        System.out.println("\n\t絕對路徑=" + readfile.getPath());
                        System.out.println("\t相對路徑=" + readfile.getAbsolutePath());
                        System.out.println("\t檔案全名=" + readfile.getName());
                    } else if (readfile.isDirectory()) {
                        readAllFile(fileList[i].getPath());
                    }
                }
            }
        } catch (FileNotFoundException e) {
            System.out.println("readfile() Exception:" + e.getMessage());
        }
        return true;
    }

    /** 刪除某個資料夾下的所有資料夾和檔案 */
    public static boolean deleteFile(String delpath) throws FileNotFoundException, IOException {
        try {
            File file = new File(delpath);
            if (!file.isDirectory()) {
                System.out.println("1");
                file.delete();
            } else if (file.isDirectory()) {
                System.out.println("2");
                File[] fileList = file.listFiles();
                for (int i = 0; i < fileList.length; i++) {
                    File delfile = fileList[i];
                    if (!delfile.isDirectory()) {
                        System.out.println("絕對路徑=" + delfile.getPath());
                        System.out.println("相對路徑=" + delfile.getAbsolutePath());
                        System.out.println("檔案全名=" + delfile.getName());
                        delfile.delete();
                        System.out.println("刪除檔案成功");
                    } else if (delfile.isDirectory()) {
                        deleteFile(fileList[i].getPath());
                    }
                }
                file.delete();
            }
        } catch (FileNotFoundException e) {
            System.out.println("deletefile() Exception:" + e.getMessage());
        }
        return true;
    }
}

以上就是本文的全部內容,希望大家能夠喜歡。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved