📅  最后修改于: 2023-12-03 15:02:03.942000             🧑  作者: Mango
在Java中,读取文本文件是非常常见的操作。Java提供了多种读取文本文件的方法,每种方法都有自己的特点和适用场景。本文将介绍Java中读取文本文件的不同方法。
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class ReadFileExample1 {
public static void main(String[] args) throws IOException {
String fileName = "path/to/file.txt";
FileInputStream inputStream = new FileInputStream(fileName);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
bufferedReader.close();
}
}
以上代码使用了FileInputStream
和BufferedReader
来读取文本文件。FileInputStream
用于读取文件,而BufferedReader
用于读取文本行。这种方法的优点是简单,适用于小文件,但因为是逐行读取,对于大文件性能较差。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileExample2 {
public static void main(String[] args) throws IOException {
String fileName = "path/to/file.txt";
FileReader fileReader = new FileReader(fileName);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
bufferedReader.close();
}
}
以上代码使用了FileReader
和BufferedReader
来读取文本文件。FileReader
与FileInputStream
类似,用于读取文件,而BufferedReader
用于读取文本行。这种方法与使用FileInputStream
和BufferedReader
的方法类似,但由于是逐行读取,也不适用于大文件。
import java.io.BufferedReader;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
public class ReadFileExample3 {
public static void main(String[] args) throws IOException {
String fileName = "path/to/file.txt";
BufferedReader bufferedReader = Files.newBufferedReader(Paths.get(fileName));
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
bufferedReader.close();
}
}
以上代码使用了Files
和BufferedReader
来读取文本文件。Files
是Java 7中引入的新功能,用于读写文件,而BufferedReader
用于读取文本行。这种方法简单、易于使用,也适用于大文件。
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class ReadFileExample4 {
public static void main(String[] args) throws IOException {
String fileName = "path/to/file.txt";
File file = new File(fileName);
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
scanner.close();
}
}
以上代码使用了Scanner
来读取文本文件。Scanner
是Java中读取输入的常用类,也可以用于读取文件。这种方法简单、易于使用,也适用于大文件。
总结:
以上介绍了Java中读取文本文件的不同方法,每种方法都有其优缺点和适用场景。开发中需要根据实际情况选择合适的方法。