1. 程式人生 > >File類的使用(檔案與資料夾,獲取,判斷存在,刪除,)

File類的使用(檔案與資料夾,獲取,判斷存在,刪除,)

//File類的使用
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        //test3();

//        File f = new File("E:\\資料\\第二階段\\day09\\code\\");
//        method2(f);

        File f = new File("D:\\urlPath");
        method3(f);
    }

    /**
     * 以字串陣列的形式返回當前路徑下所有的檔案和資料夾的名稱
     * @throws IOException
     */
    public static void test1() throws IOException {
        File file = new File("D:\\urlPath");

        String[] list = file.list();
        for(String aa:list){
            System.out.println(aa);
        }
    }
    /**
     * 以File物件的形式返回當前路徑下所有的檔案和資料夾的名稱
     */
    public static void test2() throws IOException {
        File file = new File("D:\\urlPath");

        File[] files = file.listFiles();
        for (File aa : files) {
            System.out.println(aa);
        }
    }
    /**
     * 獲取計算機中所有的碟符
     */
    public static void test3() throws IOException {
        File[] files = File.listRoots();
        for (File file : files) {
            System.out.println(file);
        }
    }
    /**
     *輸出指定目錄下所有的java檔名(包含子目錄)
     */
    public static void method(File file) {
        if(file.isDirectory()) {
            File[] files = file.listFiles();
            for (File f : files) {
                //判斷是否是檔案物件
                if(f.isFile()) {
                    if(f.getName().endsWith(".java")) {
                        System.out.println(f.getName());
                    }
                }
                else if(f.isDirectory()){
                    //是一個目錄物件
                    method(f);
                }
            }
        }
    }
    /**
     * 輸出指定目錄下的所有java檔名(不包含子目錄)
     */
    //輸出指定目錄下的所有java檔名(不包含子目錄)
    public static void method2(File file) {
        if(file.isDirectory()) {
            File[] files = file.listFiles();
            for (File f : files) {
                //判斷是否是檔案物件
                if(f.isFile()) {
                    if(f.getName().endsWith(".java")) {
                        System.out.println(f.getName());
                    }
                }
            }
        }
    }
    /**
     * 刪除指定的目錄(包含子目錄)
     */
    public static void method3(File file) {
        //得到路徑時候,判斷是不是資料夾
        if(file.isDirectory()){
            //是 檢視裡面的內容(獲取裡面的子檔案和子目錄)
            File[] files = file.listFiles();
            for(File f:files){
                if(f.isFile()){
                    //直接幹掉他
                    System.out.println(f.getName());
                    f.delete();
                }else if(f.isDirectory()) {
                    method3(f);
                }
            }
            //幹掉自己
            System.out.println(file.getName());
            file.delete();