天天看點

Java File類的詳解

文章目錄

  • ​​基本概念​​
  • ​​File類的靜态成員變量​​
  • ​​檔案的絕對路徑和相對路徑​​
  • ​​File類的構造方法​​
  • ​​File類的常用方法​​
  • ​​擷取功能的方法​​
  • ​​判斷功能的方法​​
  • ​​建立及删除功能的方法​​
  • ​​檔案夾周遊功能​​
  • ​​list()方法​​
  • ​​listFile()方法​​

基本概念

java.io.File類是檔案和目錄路徑名的抽象表示,主要用于檔案和目錄的建立、查找和删除等操作。File類是一個與作業系統無關的類,任何的作業系統都可以使用這個類中的成員方法。

我們可以使用File類:

  • 建立檔案/檔案夾
  • 删除檔案/檔案夾
  • 擷取檔案/檔案夾
  • 判斷檔案/檔案夾是否存在
  • 對檔案夾進行周遊
  • 擷取檔案的大小

File類的靜态成員變量

  • File.pathSeparator :路徑分隔符,windows用分号表示,linux用冒号表示。
  • File.separator:檔案名稱分隔符,windows用反斜杠表示,linux用正斜杠表示。

檔案的絕對路徑和相對路徑

  • 絕對路徑:是一個完整的路徑,以盤符(C:,D:)開始的路徑,比如c:\txt\aaa.txt。
  • 相對路徑:是一個簡化的路徑,相對指的是相當于目前檔案的根目錄,比如根目錄為c:\txt,那麼相對路徑為aaa.txt

File類的構造方法

  • public File(String pathname):參數String pathname代表路徑名稱
  • public File(Stirng parent,Sting child):參數String parent代表父路徑名稱,參數String child代表子路徑名稱
  • public File(File parent, String child):參數File parent代表父路徑的檔案對象,參數String child代表子路徑名稱
//構造方法File(String pathname)
        File file1 = new File("c:\\txt\\aaa.txt");
        File file2 = new File("bbb.txt");

        //構造方法File(String parent,String child)
        File file3 = new File("c:\\txt\\","aaa.txt");

        //構造方法public File(File parent, String child)
        File parentFile = new File("c:\\txt\\");
        File file4= new File(parentFile,"aaa.txt");      

File類的常用方法

擷取功能的方法
//getAbsolutePath 擷取檔案的絕對路徑
        File file5 = new File("c:\\txt\\aaa.txt");
        System.out.println(file5.getAbsolutePath());
        //getPath 擷取檔案構造方法的傳遞的路徑名稱
        File file6 = new File("aaa.txt");
        System.out.println(file6.getPath());
        //getName 擷取檔案構造方法的傳遞的路徑中的結尾部分,可能是檔案名,可能是檔案夾名
        System.out.println(file5.getName());
        File file7 = new File("c:\\txt");
        System.out.println(file7.getName());
        //length 傳回檔案的大小
        System.out.println(file5.length());      
Java File類的詳解
判斷功能的方法
//exists 判斷檔案或檔案夾是否存在
        File file8 = new File("c:\\txt\\aaa.txt");
        System.out.println(file8.exists());
        File file9 = new File("c:\\txt\\bbb.txt");
        System.out.println(file9.exists());

        //isFile 是否為檔案
        System.out.println(file8.isFile());

        //isDirectory是否為檔案夾
        System.out.println(file8.isDirectory());      
Java File類的詳解
建立及删除功能的方法
//createNewFile 當且僅當具有該名稱的檔案尚不存在時,建立一個新空檔案
        File file11 = new File("c:\\txt\\bbb.txt");
        System.out.println(file11.createNewFile());
        //delete 删除檔案
        System.out.println(file11.delete());
        //mkdir 建立單級空檔案夾
        File file12 = new File("c:\\txt\\1");
        System.out.println(file12.mkdir());
        //mkdirs 建立單級或多級空檔案夾
        File file13 = new File("c:\\txt\\2\\3");
        System.out.println(file13.mkdirs());
        //delete 删除檔案夾
        System.out.println(file12.delete());
        System.out.println(file13.delete());      
Java File類的詳解

注意:delete方法在硬碟直接删除檔案或檔案夾,需謹慎使用。

檔案夾周遊功能

list()方法

Java File類的詳解
//list方法 ,傳回一個字元串數組,表示該File對象的檔案夾下的所有檔案或子目錄
        File file14= new File("c:\\txt");
        String[] files = file14.list();
        for(String file : files){
            System.out.println(file);
        }      

listFile()方法

//listFiles方法 ,傳回一個File數組,表示該File對象的檔案夾下的所有檔案或子目錄
        File file15= new File("c:\\txt");
        File[] listFiles = file15.listFiles();
        for(File file : listFiles){
            System.out.println(file);
        }