用 Java 讀取文字檔案
Mohd Ebad Naqvi
2023年1月30日
2021年7月3日
幾乎在每個應用程式中,我們都會處理閱讀和編寫文字,因此真正瞭解它是必不可少的。有幾種方法可以在 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 並建立一個指定名稱的空檔案。