File類的初步學習

1、File類的概述

我們可以使用File類對文件和文件夾進行操作。

  • 創建一個文件/文件夾
  • 刪除文件/文件夾
  • 獲取文件/文件夾
  • 判斷文件/文件夾是否存在
  • 對文件夾進行遍歷
  • 獲取文件的大小

File類是一個與系統無關的類,任何操作系統都有可以使用這個類種的方法。

重點:記住三個單詞

  • file:文件
  • directory:文件夾
  • path:路徑(用於找到文件或者文件夾的路徑)

2、File的靜態成員變量

  • pathSeparator(String) 與系統有關的路徑分隔符

    在windows中,它是分號 ; 在Linux中,它是冒號 :

  • separator (String)文件名稱分隔符

    windows:反斜槓 \ Linux:斜槓 /

3、絕對路徑與相對路徑

  • 絕對路徑:完整的路徑,以盤符開始的路徑。
  • 相對路徑:簡化的路徑,相對是指相對於當前項目的根目錄。

注意:

  • 路徑不區分大小寫(疑問)艹,是真的,真的不區分大小寫

4、構造方法

  • /*
       File(String pathname) 通過給定路徑名字符串轉換爲抽象路徑名來創建一個新File實例
       參數:
           路徑可以是以文件結尾,也可以字符串結尾
           路徑可以是相對路徑,也可以是絕對路徑
           可以是存在的,也可是不存在的
           創建File對象,只是把字符串路徑封裝爲File對象,不考慮路徑的真假情況
      */
       private static void show01() {
           File file = new File("D:\\百度雲下載\\java攻城獅");
           System.out.println(file);// D:\百度雲下載\java攻城獅 說明File類重寫了toString()
       }
    
  • /*
        File(String parent,String child) 根據parent路徑名字符串和child路徑名字符串來創建一個新File實例。
        參數:把路徑分成了兩部分
            String parent:父路徑
            String child:子路徑
         */
        private static void show02(){
            File file = new File("c:\\","zhangsan.txt");
            System.out.println(file); // c:\\zhangsan.text
        }
    
  • /*
        File(File parent,String child) 根據parent File和child路徑名字符串來創建一個新File實例。
        參數:把路徑分成了兩部分
            File parent:父路徑
            String child:子路徑
         */
        private static void show02(){
            File file = new File(parent,"zhangsan.txt"); //父路徑是File類型
            System.out.println(file); // c:\\zhangsan.text
        }
    

5、常用方法

5.1、獲取

  1. String getAbsolutePath() :返回File的絕對路徑字符串(管你是絕對還是相對統統返回絕對路徑)
  2. String getPath() :返回你原來是啥的(絕對路徑就返回絕對路徑、相對路徑就返回相對路徑)
    toString()調用的就是getPath()。
  3. String getName() :返回由此File表示的文件(文件)或目錄(最後一個文件夾)的名稱
  4. long length() :File的大小。(以Byte爲單位)
    注意:文件夾是沒有大小概念的,不能獲取文件夾的大小,如果路徑不存在那麼返回0。

5.2、判斷

  1. boolean exists()
  2. boolean isDirectory()
  3. boolean isFile()

5.3、創建刪除

  • boolean createNewFile() 當且僅當具有該名稱的文件上不存在時,創建一個新的空文件。

  • boolean delete() 刪除此File表示的文件或目錄

    /*
        public boolean delete():刪除由此File類表示的文件或目錄,
        此方法可以刪除構造方法給出的文件或文件夾
        文件/文件夾刪除成功:true
        文件夾有內容,不會刪除返回false,構造方法中的路徑不存在也會返回false;
        注意:
            delete()是直接在硬盤上刪除,不走回收站,也就是說:不能撤銷
         */
        private static void delete() {
            File file = new File("hhh");
            System.out.println(file.delete()); //返回false,因爲hhh文件夾中有內容
        }
    
  • boolean mkdir() 創建此File表示的目錄

  • boolean mkdirs() 創建由此File表示的目錄,包括任何必須但不存在的父目錄。

6、遍歷(文件夾)

/*
        File類遍歷(文件夾目錄功能)
        - public String[] list() :返回一個String數組,表示該File目錄中的所有子文件或目錄
        - public File() listFiles() :返回一個File數組,表示該File目錄中的所有子文件或目錄
        注意:
            list方法和listFiles方法遍歷的是構造方法中給出的目錄,
            如果構造方法中給出的目錄路徑不存在,會拋出空指針異常
            如果構造方法給出的路徑不是一個目錄,也會拋出空指針異常
     */

隱藏的文件也能獲取到!🔏
在這裏插入圖片描述

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