Java IO API 中的 File 類可以讓你訪問底層文件系統,通過 File 類,你可以做到以下幾點:
- 檢測文件是否存在
- 讀取文件長度
- 重命名或移動文件
- 刪除文件
- 檢測某個路徑是文件還是目錄
- 讀取目錄的文件列表
請注意:File 只能訪問文件以及文件系統的元數據。如果你想要讀寫某個文件內容,需要使用 FileInputStream、FileOutputStream 或者 RandomAccessFile。如果你正在使用 Java NIO,並且想使用完整的 NIO 解決方案,你會使用到 java.nio.FileChannel。
實例化一個 java.io.File 對象
在使用 File 之前,必須擁有一個 File 對象:
File file = new File("c:\\data\\text.txt");
檢測文件是否存在
當你獲得一個 File 對象之後,可以檢測相應的文件是否存在。當文件不存在的時候,構造函數並不會執行失敗。
File file = new File("c:\\data\\text.txt");
file.exists();
文件長度
通過調用 length() 可以獲得文件的字節長度。
File file = new File("c:\\data\\text.txt");
file.length();
重命名或移動文件
通過調用 File 類中的 renameTo() 方法可以重命名(或者移動)文件。
File file = new File("c:\\data\\text.txt");
file.renameTo(new File("c:\\data\\newFile.txt"));
刪除文件
通過調用 delete() 方法可以刪除文件。
File File = new File("c:\\data\\text.txt");
boolean success = file.delete();
檢測某個路徑是文件還是目錄
File 既可以指向一個文件,也可以指向一個目錄。可以通過調用 isDirectory() 方法,可以判斷當前 File 對象指向的是文件還是目錄。
File File = new File("c:\\data\\text.txt");
System.out.println(file.isDirectory());
System.out.println(file.isFile());
讀取目錄中的文件列表
你可以通過調用 list() 或者 listFile() 方法獲取一個目錄中的所有文件列表。list() 方法返回當前 File 對象指向的目錄中所有文件與子目錄的字符串名稱。listFile() 方法返回當前 File 對象指向的目錄中所有於子目錄相關聯的 File 對象。
File file = new File("c:\\data");
String[] fileNames = file.list();
File [] files= file.listFiles();