Java:将文本文件的内容打印到屏幕

use*_*887 20 java io text java-7

我有一个名为的文本文件foo.txt,其内容如下:

这个

文本

如何在Java 7中将此确切文件打印到屏幕上?

Jir*_*ser 37

在Java 7之前:

 BufferedReader br = new BufferedReader(new FileReader("foo.txt"));
 String line = null;
 while ((line = br.readLine()) != null) {
   System.out.println(line);
 }
Run Code Online (Sandbox Code Playgroud)
  • 添加异常处理
  • 添加关闭流

从Java 7开始,不需要关闭流,因为它实现了 autocloseable

try (BufferedReader br = new BufferedReader(new FileReader("foo.txt"))) {
   String line = null;
   while ((line = br.readLine()) != null) {
       System.out.println(line);
   }
}
Run Code Online (Sandbox Code Playgroud)


Hag*_*gra 12

为什么没有人认为值得一提的是Scanner?

Scanner input = new Scanner(new File("foo.txt"));

while (input.hasNextLine())
{
   System.out.println(input.nextLine());
}
Run Code Online (Sandbox Code Playgroud)

  • ...因为问题是关于 Java 的,这意味着代码应该过于冗长且难以看清(您问过!)。如果您还没有尝试过 Groovy(Java 语法兼容在 JVM 上运行),我敢打赌您会喜欢它。 (3认同)