W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
File類的對象是文件或目錄的路徑名的抽象表示。
我們可以從中創(chuàng)建一個 File
對象
我們可以使用File類的以下構造函數(shù)之一創(chuàng)建一個文件:
File(String pathname) File(File parent, String child) File(String parent, String child) File(URI uri)
如果我們有一個文件路徑名字符串test.txt,我們可以創(chuàng)建一個抽象路徑名作為下面的代碼。
File dummyFile = new File("test.txt");
名為test.txt的文件不必存在,以使用此語句創(chuàng)建File對象。
dummyFile對象表示抽象路徑名,它可能指向或可能不指向文件系統(tǒng)中的真實文件。
File類有幾個方法來處理文件和目錄。
使用File對象,我們可以創(chuàng)建新文件,刪除現(xiàn)有文件,重命名文件,更改文件的權限等。
File類中的isFile()和isDirectory()告訴File對象是否表示文件或目錄。
JVM的當前工作目錄是根據(jù)我們?nèi)绾芜\行java命令來設置的。
我們可以通過讀取user.dir系統(tǒng)屬性來獲取JVM的當前工作目錄,如下所示:
String workingDir = System.getProperty("user.dir");
使用System.setProperty()方法更改當前工作目錄。
System.setProperty("user.dir", "C:\\myDir");
要在Windows上指定C:\\ test作為user.dir系統(tǒng)屬性值,我們運行如下所示的程序:
java -Duser.dir=C:\test your-java-class
我們可以使用File類的exists()方法檢查File對象的抽象路徑名是否存在。
boolean fileExists = dummyFile.exists();
完整源代碼
import java.io.File; public class Main { public static void main(String[] argv) { // 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."); } } }
上面的代碼生成以下結果。
絕對路徑在文件系統(tǒng)上唯一標識文件。規(guī)范路徑是唯一標識文件系統(tǒng)上文件的最簡單路徑。
我們可以使用getAbsolutePath()和getCanonicalPath()方法來分別獲得由File對象表示的絕對路徑和規(guī)范路徑。
import java.io.File; import java.io.IOException; public class Main { public static void main(String[] args) { printFilePath("dummy.txt"); printFilePath(".." + File.separator + "notes.txt"); } public static void printFilePath(String pathname) { File f = new File(pathname); System.out.println("File Name: " + f.getName()); System.out.println("File exists: " + f.exists()); System.out.println("Absolute Path: " + f.getAbsolutePath()); try { System.out.println("Canonical Path: " + f.getCanonicalPath()); } catch (IOException e) { e.printStackTrace(); } } }
上面的代碼生成以下結果。
不同的操作系統(tǒng)使用不同的字符來分隔路徑名中的兩個部分。
例如,Windows在路徑名中使用反斜杠(\)作為名稱分隔符,而UNIX使用正斜杠(/)。
File類定義了一個名為分隔符Char的常量,它是系統(tǒng)相關的名稱分隔符。
我們可以使用File.separator Char常量來獲取名稱分隔符作為字符。
File.separator
常量將我們的名稱分隔符作為String。
在程序中使用名稱分隔符將使您的Java代碼在不同的平臺上工作。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: