Java File類的概述及常用方法使用詳解

一、File類的概述和構造方法

public class File

extends Object

implements Serializable, Comparable< File>

File:它是文件目錄路徑的抽象表示

用戶界面和操作系統使用與系統相關的路徑名字符串 來命名文件和目錄。此類呈現分層路徑名的一個抽象的、與系統無關的視圖。抽象路徑名 有兩個組件:

  • 一個可選的與系統有關的前綴 字符串,比如盤符,“/” 表示 UNIX 中的根目錄,“\\” 表示 Microsoft Windows UNC 路徑名。
  • 零個或更多字符串名稱 的序列。

抽象路徑名中的第一個名稱是目錄名,對於 Microsoft Windows UNC 路徑名則是主機名。抽象路徑名中第一個名稱之後的每個名稱表示一個目錄;最後一個名稱既可以表示目錄,也可以表示文件。空 抽象路徑名沒有前綴和名稱序列。

構造方法:

方法 說明
File(File parent, String child) 根據 parent 抽象路徑名和 child 路徑名字符串創建一個新 File 實例
File(String pathname) 通過將給定路徑名字符串轉換為抽象路徑名來創建一個新 File 實例
File(String parent, String child) 根據 parent 路徑名字符串和 child 路徑名字符串創建一個新 File 實例
File(URI uri)  通過將給定的 file: URI 轉換為一個抽象路徑名來創建一個新的 File 實例

代碼示例:

package com.ithmm_01;

import java.io.File;

public class FileDemo01 {
    public static void main(String[] args) {
        //File(String pathname)	通過將給定路徑名字符串轉換為抽象路徑名來創建一個新 File 實例。
        File f1 = new File("E:\\ithmm\\java.txt");
        System.out.println(f1);//重寫瞭toString方法

        //File(String parent, String child)	根據 parent 路徑名字符串和 child 路徑名字符串創建一個新 File 實例。
        File f2 = new File("E\\ithmm\\java.txt");
        System.out.println(f2);

        //File(File parent, String child)	根據 parent 抽象路徑名和 child 路徑名字符串創建一個新 File 實例。
        File f3 = new File("E:\\ithmm");
        File f4 = new File(f3,"java.txt");
    }
}

二、File類創建功能

方法名 說明
boolean createNewFile() 當且僅當不存在具有此抽象路徑名指定名稱的文件時,不可分地創建一個新的空文件
boolean mkdir() 創建此抽象路徑名指定的目錄
boolean mkdirs() 創建此抽象路徑名指定的目錄,包括所有必需但不存在的父目錄

代碼示例:

 //需求1:在E\\ithmm目錄下創建一個文件java.txt"
        File f1 = new File("E:\\ithmm\\java.txt");
        System.out.println(f1.createNewFile());

控制臺輸出:true

如果文件不存在就創建文件並返回true,如果文件存在就不創建文件,返回false

/需求2:在E\\ithmm目錄下創建一個目錄JavaSE
        File f2 = new File("E:\\ithmm\\JavaSE");
        System.out.println(f2.mkdir());

控制臺輸出:true

如果目錄不存在就創建文件並返回true,如果目錄存在就不創建文件,返回false

//需求3:在E\\ithmm目錄下創建一個多級目錄JavaWEB\\HTML
        File f3 = new File("E:\\ithmm\\JavaWeb\\HTML");
        System.out.println(f3.mkdirs());

如果目錄不存在就創建文件並返回true,如果目錄存在就不創建文件,返回false

註意:創建文件就應該使用創建文件的方法,創建目錄就必須使用創建目錄的方法

三、File類創建和獲取功能

方法名 說明
boolean isDirectory() 測試此抽象路徑名表示的文件是否是一個目錄
boolean isFile() 測試此抽象路徑名表示的文件是否是一個標準文件
boolean exists() 測試此抽象路徑名表示的文件或目錄是否存在
String getAbsolutePath() 返回此抽象路徑名的絕對路徑名字符串
String getPath() 將此抽象路徑名轉換為一個路徑名字符串
String getName()  返回由此抽象路徑名表示的文件或目錄的名稱
String[] list()  返回一個字符串數組,這些字符串指定此抽象路徑名表示的目錄中的文件和目錄
File[] listFiles()  返回一個抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中的文件

代碼示例:

package com.ithmm_01;

import java.io.File;

public class FileDemo03 {
    public static void main(String[] args) {
        //創建一個File對象
        File  f= new File("Io\\java.txt");
        // boolean isDirectory() | 測試此抽象路徑名表示的文件是否是一個目錄。
        //  boolean isFile() |  測試此抽象路徑名表示的文件是否是一個標準文件。
        // boolean exists() | 測試此抽象路徑名表示的文件或目錄是否存在。
        System.out.println(f.isDirectory());//false
        System.out.println(f.isFile());//true
        System.out.println(f.exists());//true

        // String getAbsolutePath() |返回此抽象路徑名的絕對路徑名字符串。
        //  String getPath() |將此抽象路徑名轉換為一個路徑名字符串。
        // String getName() |返回由此抽象路徑名表示的文件或目錄的名稱。
        System.out.println(f.getAbsoluteFile());//E:\ideaTest\Io\java.txt
        System.out.println(f.getPath());//Io\java.txt
        System.out.println(f.getName());//java.txt

        //  String[] list() |返回一個字符串數組,這些字符串指定此抽象路徑名表示的目錄中的文件和目錄。
        // File[] listFiles() |返回一個抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中的文件。
        File f2 = new File("E:\\ithmm");
        String[] list = f2.list();
        for(String s : list){
            //System.out.println(s);
            //java.txt
            //java.txt
            //JavaSE
            //JavaWeb
        }

        File[ ] fileArrays = f2.listFiles();
        for(File file : fileArrays){
//            System.out.println(file.getName());
//            System.out.println(file);
            if(file.isFile()){
                System.out.println(file.getName());
            }
        }


    }
}

四、File類的刪除功能

方法 說明
boolean delete() 刪除此抽象路徑名表示的文件或目錄。

絕對路徑和相對路徑的區別

絕對路徑:完整的路徑名,不需要任何的其他信息就可以定位它所表示的文件。

相對路徑:必須使用取自其他路徑的信息進行解釋。

刪除目錄的註意事項:

如果一個目錄中有內容(目錄,文件),不能直接刪除。應該先刪除該目錄下的內容,最後刪除該目錄

代碼示例:

package com.ithmm_01;

import java.io.File;
import java.io.IOException;

public class FileDemo04 {
    public static void main(String[] args) throws IOException {
        //需求1:在當前模塊目錄下創建java.txt 文件
        File f =  new File("Io\\java.txt");

        //需求2:刪除當前模塊目錄下的java.txt 文件
        System.out.println(f.delete());

        //需求3:在當前模塊目錄下創建ithmm目錄
        File f2 = new File("Io\\ithmm");
       // System.out.println(f2.mkdir());
        System.out.println(f2.delete());

        //需求4:在當前模塊目錄下創建ithmm,然後在該目錄下創建一個文件java.txt
        File f3 = new File("Io\\ithmm");
        System.out.println(f3.mkdir());
        File f4 = new File("Io\\ithmm\\java.txt");
        System.out.println(f4.createNewFile());

        
        //需求6:刪除當前目錄ithmm,首先要刪除該目錄下的文件
        System.out.println(f4.delete());
        System.out.println(f3.delete());
    }
}

以上就是Java File類的概述及常用方法使用詳解的詳細內容,更多關於Java File類的資料請關註WalkonNet其它相關文章!

推薦閱讀: