Java如何从文件读取所有行?

java.nio.file.Files.readAllLines()方法从文件读取所有行。此方法可确保在读取所有字节或引发I / O错误或其他运行时异常时关闭文件。使用指定的字符集将文件中的字节解码为字符。

请注意,此方法仅适用于简单的情况,在此情况下,一次操作即可轻松读取所有行。它不适用于读取大文件。Java 7中提供了此方法。

package org.nhooo.example.io;

import java.net.URI;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

public class ReadFileAsListDemo {
    public static void main(String[] args) {
        ReadFileAsListDemo demo = new ReadFileAsListDemo();
        demo.readFileAsList();
    }

    private void readFileAsList() {
        String fileName = "/data.txt";

        try {
            URI uri = this.getClass().getResource(fileName).toURI();
            List<String> lines = Files.readAllLines(Paths.get(uri),
                Charset.defaultCharset());

            for (String line : lines) {
                System.out.println(line);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}