Java IO(七):File

Java IO API 中的 File 類可以讓你訪問底層文件系統,通過 File 類,你可以做到以下幾點:

  1. 檢測文件是否存在
  2. 讀取文件長度
  3. 重命名或移動文件
  4. 刪除文件
  5. 檢測某個路徑是文件還是目錄
  6. 讀取目錄的文件列表

請注意: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();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章