如何用Java读取文件– BufferedReader

2022-06-27 14:25:31

在本文中,我们将向您展示如何使用java.io.BufferedReader从文件中读取内容

注意
以这种不同的方式读取文件

1. Files.newBufferedReader(Java 8)

在Java 8中,有一个新方法Files.newBufferedReader(Paths.get("file"))返回一个BufferedReader

filename.txt
A
B
C
D
E
FileExample1.java
package com.mkyong;

import java.io.BufferedReader;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class FileExample1 {

    public static void main(String[] args) {

        StringBuilder sb = new StringBuilder();

        try (BufferedReader br = Files.newBufferedReader(Paths.get("filename.txt"))) {

            // read line by line
            String line;
            while ((line = br.readLine()) != null) {
                sb.append(line).append("\n");
            }

        } catch (IOException e) {
            System.err.format("IOException: %s%n", e);
        }

        System.out.println(sb);

    }

}

输出量

A
B
C
D
E

2. BufferedReader

2.1具有JDK 1.7的try-with-resources经典BufferedReader可以自动关闭资源。

FileExample2.java
package com.mkyong;

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

public class FileExample2 {

    public static void main(String[] args) {

        try (FileReader reader = new FileReader("filename.txt");
             BufferedReader br = new BufferedReader(reader)) {

            // read line by line
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }

        } catch (IOException e) {
            System.err.format("IOException: %s%n", e);
        }
    }

}

2.2在过去,我们必须手动关闭所有内容。

FileExample3.java
package com.mkyong.calculator;

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

public class FileExample3 {

    public static void main(String[] args) {

        BufferedReader br = null;
        FileReader fr = null;

        try {

            fr = new FileReader("filename.txt");
            br = new BufferedReader(fr);

            // read line by line
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }

        } catch (IOException e) {
            System.err.format("IOException: %s%n", e);
        } finally {
            try {
                if (br != null)
                    br.close();

                if (fr != null)
                    fr.close();
            } catch (IOException ex) {
                System.err.format("IOException: %s%n", ex);
            }
        }

    }

}

参考文献

翻译自:https://mkyong.com/java/how-to-read-file-from-java-bufferedreader-example/

  • 作者:cyan20115
  • 原文链接:https://blog.csdn.net/cyan20115/article/details/106554638
    更新时间:2022-06-27 14:25:31