Java 文件



章節


Java文件

java.io包中的File類,用於處理文件。

使用File類,創建該類的對象,並指定文件名或目錄名:

示例

import java.io.File;  // 導入File類

File myObj = new File("filename.txt"); // 指定文件名

File類有許多方法,如下表:

方法 返回值類型 描述
canRead() Boolean 測試文件是否可讀
canWrite() Boolean 測試文件是否可寫
createNewFile() Boolean 創建一個空文件
delete() Boolean 刪除一個文件
exists() Boolean 測試文件是否存在
getName() String 返回文件的名稱
getAbsolutePath() String 返回文件的絕對路徑
length() Long 返回文件大小(以字節為單位)
list() String[] 返回目錄中文件的數組
mkdir() Boolean 創建一個目錄

如果你不知道“包”是什么,請參考我們的Java包教程

創建文件

可使用createNewFile()方法創建一個文件。這個方法返回一個布爾值: 如果文件創建成功,返回true; 如果文件已經存在,返回false。

注意,關於文件的操作,通常應該包含在一個try…catch塊,如果發生錯誤(如由於某種原因無法創建文件),會拋出IOException:

示例

import java.io.File;  // 導入File類
import java.io.IOException;  // 導入IOException類來處理錯誤

public class CreateFile { 
  public static void main(String[] args) { 
    try { 
      File myObj = new File("filename.txt"); 
      if (myObj.createNewFile()) { 
        System.out.println("創建文件: " + myObj.getName()); 
      } else { 
        System.out.println("文件已經存在"); 
      } 
    } catch (IOException e) {
      System.out.println("出錯了");
      e.printStackTrace(); 
    } 
  } 
}

輸出將為:

創建文件: filename.txt

可以指定路徑創建文件(需要權限)。對於Windows,使用雙反斜杠轉義“\”字符,對於Mac和Linux上,可以直接寫路徑,比如:/Users/name/filename.txt

示例

File myObj = new File("C:\\Users\\MyName\\filename.txt");

獲取文件信息

可以通過File類的方法,獲取文件信息:

示例

import java.io.File; 

public class GetFileInfo { 
  public static void main(String[] args) { 
    File myObj = new File("filename.txt");
    if (myObj.exists()) {
      System.out.println("文件名: " + myObj.getName()); 
      System.out.println("絕對路徑: " + myObj.getAbsolutePath()); 
      System.out.println("可寫: " + myObj.canWrite()); 
      System.out.println("可讀: " + myObj.canRead()); 
      System.out.println("文件大小(字節): " + myObj.length());
    } else {
      System.out.println("文件不存在");
    }
  } 
}

輸出將為:

文件名: filename.txt
絕對路徑: C:\Users\MyName\filename.txt
可寫: true
可讀: true
文件大小(字節): 0

寫入文件

下面的示例中,使用FileWriter類的write()方法,將一些文本寫入文件。注意,寫完文件后,應該使用close()方法關閉文件:

示例

import java.io.FileWriter;   // 導入FileWriter類
import java.io.IOException;  // 導入IOException類來處理錯誤

public class WriteToFile { 
  public static void main(String[] args) { 
    try { 
      FileWriter myWriter = new FileWriter("filename.txt");
      myWriter.write("奇客谷教程 - 精品編程教程與實例");
      myWriter.close();
      System.out.println("成功寫入文件");
    } catch (IOException e) {
      System.out.println("出錯了");
      e.printStackTrace();
    } 
  } 
}

輸出將為:

成功寫入文件

讀取文件

下面的例子中,使用Scanner類來讀取文件內容:

示例

import java.io.File;  // 導入File類
import java.io.FileNotFoundException;  // 導入這個類來處理錯誤
import java.util.Scanner; // 導入Scanner類來讀取文本文件

public class ReadFile { 
  public static void main(String[] args) { 
    try {
      File myObj = new File("filename.txt");
      Scanner myReader = new Scanner(myObj); 
      while (myReader.hasNextLine()) {
        String data = myReader.nextLine();
        System.out.println(data);
      }
      myReader.close();
    } catch (FileNotFoundException e) {
      System.out.println("出錯了");
      e.printStackTrace();
    } 
  } 
}

輸出將為:

奇客谷教程 - 精品編程教程與實例

注意: Java API中有很多類可以用來讀寫文件: FileReaderBufferedReaderFilesScannerFileInputStreamFileWriterBufferedWriterFileOutputStream等,可根據需要選擇。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM