如何在java中读一个纯文本文件?
在 Java 中读取纯文本文件的常见方式是使用 BufferedReader 或 Files 类。以下是两种常见的方法:
BufferedReader
Files
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class ReadFileExample { public static void main(String[] args) { String filePath = "example.txt"; // 文件路径 try (BufferedReader br = new BufferedReader(new FileReader(filePath))) { String line; while ((line = br.readLine()) != null) { System.out.println(line); // 打印每行内容 } } catch (IOException e) { e.printStackTrace(); } } }
优点: - 逐行读取文件,适合大文件。 - 自动关闭资源(使用 try-with-resources)。
try-with-resources
从 Java 7 开始,java.nio.file.Files 提供了更简单的方法来读取文件。
java.nio.file.Files
List
import java.nio.file.Files; import java.nio.file.Paths; import java.io.IOException; import java.util.List; public class ReadFileExample { public static void main(String[] args) { String filePath = "example.txt"; // 文件路径 try { List<String> lines = Files.readAllLines(Paths.get(filePath)); for (String line : lines) { System.out.println(line); // 打印每行内容 } } catch (IOException e) { e.printStackTrace(); } } }
String
import java.nio.file.Files; import java.nio.file.Paths; import java.io.IOException; public class ReadFileExample { public static void main(String[] args) { String filePath = "example.txt"; // 文件路径 try { String content = new String(Files.readAllBytes(Paths.get(filePath))); System.out.println(content); // 打印文件内容 } catch (IOException e) { e.printStackTrace(); } } }
优点: - 代码简洁,适合较小文件。
Scanner
Scanner 可以用来读取文件,并允许按分隔符处理文件内容。
import java.io.File; import java.io.IOException; import java.util.Scanner; public class ReadFileExample { public static void main(String[] args) { String filePath = "example.txt"; // 文件路径 try (Scanner scanner = new Scanner(new File(filePath))) { while (scanner.hasNextLine()) { String line = scanner.nextLine(); System.out.println(line); // 打印每行内容 } } catch (IOException e) { e.printStackTrace(); } } }
Files.readAllLines()
Files.readAllBytes()
根据你的具体需求选择适合的方式即可。