乐趣区

关于java:Java-8中读取文件内容-Fileslines-方法如何使用

Files.lines() 办法是 Java 8 中在 java.nio.file.Files 类中提供的一个用于逐行读取文本文件的办法。它返回一个流(Stream<String>),其中每个元素都是文件的一行内容。


Files.lines() 办法有两个重载的办法:

1. Stream<String> lines(Path path, Charset charset):

  • path:要读取的文件门路,能够应用 Paths.get(String) 办法创立一个 Path 对象。
  • charset:可选参数,指定文件的字符编码。如果不提供字符编码,则默认应用平台的默认字符编码。

2. Stream<String> lines(Path path):

  • path:要读取的文件门路,能够应用 Paths.get(String) 办法创立一个 Path 对象。
  • 此办法应用平台的默认字符编码对文件进行解码。

以下是应用 Files.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 FileLinesExample {public static void main(String[] args) {
        String filePath = "path/to/file.txt";

        // 应用指定的字符编码读取文件的每一行
        try (Stream<String> lines = Files.lines(Paths.get(filePath), StandardCharsets.UTF_8)) {lines.forEach(System.out::println);
        } catch (IOException e) {e.printStackTrace();
        }

        // 应用默认字符编码读取文件的每一行
        try (Stream<String> lines = Files.lines(Paths.get(filePath))) {lines.forEach(System.out::println);
        } catch (IOException e) {e.printStackTrace();
        }
    }
}

以上示例展现了如何应用 Files.lines() 办法逐行读取文件的内容,别离应用指定的字符编码和默认的字符编码。在解决完流后,咱们应用了 try-with-resources 来确保流被正确敞开,并捕捉了可能的 IOException。

总结一下,Java 8 中的 Files.lines() 办法是一个不便且高效的办法,用于以流的模式读取文件中的所有行。它可能主动解决文件的敞开操作,并且能够指定文件的字符编码。

退出移动版