Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Java FAQ

java bufferedreader读取文件


在 Java 中,使用 BufferedReader 来读取文件是一种常见的方式。以下是几种实现方式,包括步骤流程和可能需要的依赖。

方式一:使用 BufferedReader 读取文本文件

这是最基本的方式,用于读取文本文件的内容。

步骤流程:

  1. 创建一个 File 对象,指定要读取的文件路径。
  2. 创建一个 FileReader 对象,将其初始化为打开文件的输入流。
  3. 创建一个 BufferedReader 对象,将其初始化为使用 FileReader 作为输入。
  4. 使用 BufferedReaderreadLine() 方法逐行读取文件内容,直到返回 null 表示文件结束。
  5. 关闭 BufferedReaderFileReader

示例代码:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class FileReadingExample {
    public static void main(String[] args) {
        String filePath = "path/to/your/textfile.txt";

        try (FileReader fileReader = new FileReader(filePath);
             BufferedReader bufferedReader = new BufferedReader(fileReader)) {

            String line;
            while ((line = bufferedReader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

依赖坐标: 无需第三方依赖。

方式二:使用 Apache Commons IO 库读取文件

Apache Commons IO 库提供了更多的文件操作功能,包括更方便的文件读取方法。

步骤流程:

  1. 添加 Apache Commons IO 库的 Maven 或 Gradle 依赖。
  2. 创建一个 File 对象,指定要读取的文件路径。
  3. 使用 FileUtils 类的 readFileToString() 方法来一次性读取整个文件内容为字符串。

示例代码:

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;

public class ApacheCommonsIOExample {
    public static void main(String[] args) {
        String filePath = "path/to/your/textfile.txt";

        try {
            File file = new File(filePath);
            String fileContent = FileUtils.readFileToString(file, "UTF-8");
            System.out.println(fileContent);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Maven 依赖坐标:

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.8.0</version>
</dependency>

Gradle 依赖坐标:

implementation group: 'commons-io', name: 'commons-io', version: '2.8.0'

方式三:使用 Java NIO 读取文件

Java NIO(New I/O)提供了更灵活的文件操作方式,包括使用 Files 类来读取文件。

步骤流程:

  1. 使用 Files 类的 readAllLines() 方法一次性读取文件的所有行并返回一个列表。
  2. 遍历列表以访问文件的内容。

示例代码:

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;

public class JavaNIOExample {
    public static void main(String[] args) {
        String filePath = "path/to/your/textfile.txt";
        Path path = Paths.get(filePath);

        try {
            List<String> lines = Files.readAllLines(path);
            for (String line : lines) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

依赖坐标: 无需第三方依赖。

以上是使用 BufferedReader 以及其他方式来读取文件的示例。你可以根据自己的需求选择最合适的方式,并添加相应的依赖(如果有)。