java基礎-File

package com.gdy.file;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;

public class FIleDemo {
    public static void main(String[] args) throws IOException {
        File file = new File("data/FileTest.txt");
        //1.訪問文件名相關方法
        System.out.println("文件名稱:"+file.getName());
        System.out.println("文件路徑:"+file.getPath());
        System.out.println("文件絕對路徑:"+file.getAbsolutePath());
        System.out.println("文件父目錄名稱:"+file.getParent());
        System.out.println(file.getParentFile());
        System.out.println("重命名文件:"+file.renameTo(file));

        //2.文件檢測相關方法
        System.out.println("判斷文件是否存在:"+file.exists());
        System.out.println("判斷文件是否可寫"+file.canWrite());
        System.out.println("判斷文件是否可讀:"+file.canRead());
        System.out.println("判斷否問文件:"+file.isFile());
        System.out.println("判斷是否是目錄:"+file.isDirectory());
        System.out.println("判斷是否是絕對路徑:"+file.isAbsolute());

        //3.獲取常規文件信息
        System.out.println("返回文件最後修改日期:"+file.lastModified() );
        System.out.println("返回文件內容的長度:"+file.length());

        //4.文件操作相關方法
        //如果文件不存在,則創建新文件,成功返回true
        System.out.println("創建新文件:"+file.createNewFile());
        //刪除操作
        //System.out.println("刪除文件:"+file.delete());


        //5.目錄操作的相關操作
        File file1 = new File("data1");
        System.out.println("創建一個目錄"+file1.mkdir());
        // System.out.println("創建包含子目錄的文件夾:"+file1.mkdirs());
       File file2 = new File("data");
       //列出file對象下所有的文件夾名和文件名(***不遍歷子文件夾***)
        String[] fileList = file2.list();
        Arrays.asList(fileList).stream().forEach(System.out::println);
        //列出FIle對象下所有的文件和文件夾
        File[] filesList = file2.listFiles();

        System.out.println("...................");
        //列出指定規則的文件或者文件夾
        String[] filelist_json = file2.list(((dir, name) -> name.endsWith(".json")||
            new File(name).isDirectory()
        ));

        Arrays.asList(filelist_json).stream().forEach(System.out::println);


        //遍歷刪除指定文件夾
        while (file1.exists()){
            delFiles(file1);
        }



    }


    /**
     * 遍歷刪除文件夾中最後一個文件或者文件夾
     * @param file
     */
    public static void  delFiles(File file){
        File[] flist = file.listFiles();

        if(flist.length == 0){
            file.delete();
        }else{

            for(File file1 : flist){
                if(file1.isFile()){
                    file1.delete();
                }else if(file1.isDirectory()){
                    File[] files = file1.listFiles();
                    if(files.length == 0){
                        file1.delete();
                    }else {
                        delFiles(file1);
                    }
                }
            }
        }
    }
}
文件名稱:FileTest.txt
文件路徑:data\FileTest.txt
文件絕對路徑:D:\soft\IDEAProject\workspace\LearnJava\data\FileTest.txt
文件父目錄名稱:data
data
重命名文件:true
判斷文件是否存在:true
判斷文件是否可寫true
判斷文件是否可讀:true
判斷否問文件:true
判斷是否是目錄:false
判斷是否是絕對路徑:false
返回文件最後修改日期:1519641101607
返回文件內容的長度:10
創建新文件:false
創建一個目錄true
FileTest.txt
FileTest.txt1
nzy
nzy_whs_count.json
nzy_whs_count_20.json
nzy_whs_count_30.json
suzhou
suzhou_home.json
suzhou_work.json
...................
nzy_whs_count.json
nzy_whs_count_20.json
nzy_whs_count_30.json
suzhou_home.json
suzhou_work.json
發佈了74 篇原創文章 · 獲贊 16 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章