用 Java 讀取文字檔案

Mohd Ebad Naqvi 2023年10月12日
  1. 在 Java 中使用 Scanner 類讀取檔案
  2. 在 Java 中使用 BufferedReader 類讀取檔案
  3. 在 Java 中使用 FileReader 類讀取檔案
用 Java 讀取文字檔案

幾乎在每個應用程式中,我們都會處理閱讀和編寫文字,因此真正瞭解它是必不可少的。有幾種方法可以在 Java 中讀取純文字檔案。

在本教程中,我們將學習如何使用 Java 讀取文字檔案。

在 Java 中使用 Scanner 類讀取檔案

Scanner 類可以讀取 Java 中的檔案。首先,建立一個 File 物件來表示所需檔案的路徑。Scanner 類的物件是通過傳遞上面的 File 物件建立的。

hasNext() 函式檢查檔案中是否存在另一行,nextLine() 函式讀取給定的行。

請參考下面的程式碼。

import java.io.File;
import java.util.Scanner;
public class ScannerClassDemo {
  public static void main(String[] args) throws Exception {
    File doc = new File("C:\\Drive\\Learn.txt");
    Scanner obj = new Scanner(doc);

    while (obj.hasNextLine()) System.out.println(obj.nextLine());
  }
}

輸出:

File Reading Example

如果給定的檔案不存在,則會引發 FileNotFound 異常。

我們也可以通過建立 InputStream 類的物件,然後將它傳遞給 Scanner 類來做到這一點。

例如,

import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Scanner;
public class ScannerClassDemo {
  public static void main(String args[]) throws Exception {
    InputStream ins = new FileInputStream("C:\\Drive\\Learn.txt");
    Scanner obj = new Scanner(ins);
    while (obj.hasNextLine()) System.out.println(obj.nextLine());
  }
}

輸出:

File Reading Example

使用這種方法的優點是它提供瞭解析能力。

在 Java 中使用 BufferedReader 類讀取檔案

BufferedReader 從基於字元的輸入流中讀取文字。緩衝是為了高效讀取陣列、行和字元而完成的。如果未指定緩衝區大小,則使用預設大小,該大小足夠使用。我們可以用它來讀取 Java 中的檔案。

BufferedReader 通過緩衝資料提供快速讀取。

在以下示例中,我們從某個指定路徑的檔案中讀取文字。

import java.io.*;
public class ReadingTextusingBufferedReader {
  public static void main(String[] args) throws Exception {
    File doc = new File("C:\\Drive\\Learn.txt");

    BufferedReader obj = new BufferedReader(new FileReader(doc));

    String strng;
    while ((strng = obj.readLine()) != null) System.out.println(strng);
  }
}

輸出:

File Reading Example

在 Java 中使用 FileReader 類讀取檔案

FileReader 類提供了一種在 Java 中讀取純文字的便捷方法。在此類中,建構函式方法採用最合適的預設位元組緩衝區大小和預設字元編碼。

我們可以使用它來讀取 Java 中的檔案,如下所示。

import java.io.*;
public class ReadingTextFile {
  public static void main(String args[]) throws IOException {
    File doc = new File("Demo.txt");
    doc.createNewFile();
    FileReader freader = new FileReader(doc);
    char[] i = new char[100];
    freader.read(i);
    for (char j : i) System.out.print(j);
    freader.close();
  }
}

輸出:

File Reading Example

createNewFile() 函式建立一個新的空檔案。函式呼叫後,如果檔案不存在,則返回 True 並建立一個指定名稱的空檔案。

相關文章 - Java File