Java File類的詳解

基本概念

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());

在這裏插入圖片描述

判斷功能的方法
//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());

在這裏插入圖片描述

創建及刪除功能的方法
 		//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());

在這裏插入圖片描述
注意:delete方法在硬盤直接刪除文件或文件夾,需謹慎使用。

文件夾遍歷功能
list()方法

在這裏插入圖片描述

//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);
        }

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章