Java文件操作-Java.IO File類

一、基本概念

1、File類是文件路徑或目錄路徑的抽象表示。

換言之,File類的實例(即File對象)可能指向或可能不指向文件系統中的真實文件。

2、File類是與操作系統無關的。

一個File對象,包括兩個部分:前綴、字符串名,即“前綴+字符串名+前綴+字符串名…”。
(1) 不同的操作系統起始的前綴不一樣,在windows中使用的是磁盤驅動器名加上":",如“C:\”,而UNIX中使用的是“/usr”。
Java虛擬機的運行目錄是我們應用程序的起始目錄,該目錄可以通過系統屬性user.dir獲得,從而可以屏蔽該差異。(當然,如果你設置其他起始路徑,如文件的上傳路徑,你也可以通過在配置文件中設置配置參數的方式來屏蔽該差異)

String  workingDir = System.getProperty("user.dir");

(2) 不同的操作系統使用不同的字符來分隔路徑名中的兩個部分。例如,Windows在路徑名中使用反斜槓(\)作爲名稱分隔符,而UNIX使用正斜槓(/)。
File類定義了一個名爲分隔符的常量,它是系統相關的名稱分隔符。我們可以使用File.separator常量來獲取名稱分隔符。

System.out.println(System.getProperty("user.dir")+ File.separator + "notes.txt");

(3) 使用File對象,我們可以創建新文件,刪除現有文件,重命名文件,更改文件的權限等。

(4)File類中的isFile()和isDirectory()告訴File對象是否表示文件或目錄。

二、使用示例

(1) 我們可以使用File類的以下構造函數之一創建一個文件:

File(String pathname)
File(File parent, String child)
File(String parent, String child)
File(URI uri)

例如:

File dummyFile = new File("test.txt");

名爲test.txt的文件不必存在,以使用此語句創建File對象。
dummyFile對象表示抽象路徑名,它可能指向或可能不指向文件系統中的真實文件。

(2) 檢測文件的存在
我們可以使用File類的exists()方法檢查File對象的抽象路徑名是否存在。
boolean fileExists = dummyFile.exists();

import java.io.File;

public class FileDemo {
    public static void main(String[] argv) {
        //獲取源程序目錄地址
        System.out.println(System.getProperty("user.dir")+ File.separator + "notes.txt");

        // Create a File object
        File dummyFile = new File("dummy.txt");

        // Check for the file"s existence
        boolean fileExists = dummyFile.exists();
        if (fileExists) {
            System.out.println("The dummy.txt  file exists.");
        } else {
            System.out.println("The dummy.txt  file does  not  exist.");
        }
    }
}

上面的代碼生成以下結果。

D:\Java\DemoSource\notes.txt
The dummy.txt  file does  not  exist.

(3)檢測文件類型
isDirectory():Tests whether the file denoted by this abstract pathname is a directory.
isFile():Tests whether the file denoted by this abstract pathname is a normal file.

參考:
關於File對象的更多解釋,javadoc中講解的更爲全面,英文不理解的用Google翻譯(其他翻譯不準確),鏈接如下。
java 8: https://docs.oracle.com/javase/8/docs/api/
其他參考:
w3cschool: https://www.w3cschool.cn/java/java-io-file.html

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