如何在 Java 中读取文件

原文:https://www.studytonight.com/java-examples/how-to-read-a-file-in-java

在这篇文章中,我们将学习使用 Java 输入/输出方法读取文件数据。Java 提供了一个Files类,用于 Java 中的文件处理操作。

Files类提供了一种方法lines(),用于读取具有指定字符集的文件数据。默认情况下,字符集是 UTF 8,方法返回一个字符串流,因此我们也可以执行流操作。

这里,我们有两个例子来理解 Java 中的文件读取过程。

我们有一个 abc.txt 文本文件,将用于阅读目的。文件内容如下。

//文件:abc.txt

This is a text file 
This is another line of the file

举例时间:

让我们阅读文件的所有行,即文件的所有数据。这里,我们使用File类和返回字符串流的lines()方法。

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Stream; 
public class Main {

    public static void main(String[] args) throws IOException{  
        Path path = Paths.get("abc.txt");
        Stream<String> str = Files.lines(path, StandardCharsets.UTF_8);
        str.forEach(System.out::println);
        }
}

这是一个文本文件 这是文件的另一行

另一个例子的时间:

让我们举另一个例子来读取文件的所有行。这里,我们使用一个File类的readAllLines()方法,它返回一个字符串列表。因为我们希望我们的数据在字符串中,所以我们使用join()方法将列表转换成字符串。

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 Main {

    public static void main(String[] args) throws IOException{  
        Path path = Paths.get("abc.txt");
        List<String> str = Files.readAllLines(path);
        String data = String.join("\n", str);
        System.out.println(data);

        }
}

这是一个文本文件 这是文件的另一行