合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
### 缓冲输入文件 如果想要打开一个文件进行字符输入,我们可以使用一个 `FileInputReader` 对象,然后传入一个 `String` 或者 `File` 对象作为文件名。为了提高速度,我们希望对那个文件进行缓冲,那么我们可以将所产生的引用传递给一个 `BufferedReader` 构造器。`BufferedReader` 提供了 `line()` 方法,它会产生一个 `Stream<String>` 对象: ```java // iostreams/BufferedInputFile.java // {VisuallyInspectOutput} import java.io.*; import java.util.stream.*; public class BufferedInputFile { public static String read(String filename) { try (BufferedReader in = new BufferedReader( new FileReader(filename))) { return in.lines() .collect(Collectors.joining("\n")); } catch (IOException e) { throw new RuntimeException(e); } } public static void main(String[] args) { System.out.print( read("BufferedInputFile.java")); } } ``` `Collectors.joining()` 在其内部使用了一个 `StringBuilder` 来累加其运行结果。该文件会通过 `try-with-resources` 子句自动关闭。