在JAVA中读取文本文件

时间:2015-11-26 07:29:54

标签: java

可以使用FileReader& amp; BufferedReader类。 在几个技术说明中,提到将文本文件作为输入流,然后转换为Inputstreamreader,然后转换为BufferedReader。

我们需要使用InputStream方法的任何原因

2 个答案:

答案 0 :(得分:7)

FileReader是读取字符文件的便利类。此类的构造函数假定默认字符编码和默认字节缓冲区大小是适当的。要自己指定这些值,请在FileInputStream上构造一个InputStreamReader。

答案 1 :(得分:0)

this answer的补充......

如果您不需要,则根本不需要使用BufferedReader,除非它具有非常方便的.readLine()方法。这是第一点。

其次,更重要的是:

  • 使用JSR 203.不要再使用File
  • 使用try-with-resources。

它们都出现在Java 7中。因此,读取文本文件的新方法是这样的:

final Path path = Paths.get("path/to/the/file");

try (
    final BufferedReader reader = Files.newBufferedReader(path,
        StandardCharsets.UTF_8);
) {
    // use reader here
}

在Java 8中,您还有Files.newBufferedReader()的版本,其中将字符集作为参数;这将默认以UTF-8读取。同样在Java 8中,您有Files.lines()

try (
    final Stream<String> stream = Files.lines(thePath);
) {
    // use the stream here
}

是的,请使用try-with-resources获取此类流!