在本文中,我们将向您展示如何使用java.io.BufferedReader
从文件中读取内容
注意
以这种不同的方式读取文件
1. Files.newBufferedReader(Java 8)
在Java 8中,有一个新方法Files.newBufferedReader(Paths.get("file"))
返回一个BufferedReader
filename.txt
A
B
C
D
E
FileExample1.java
package com.mkyong;
import java.io.BufferedReader;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
public class FileExample1 {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
try (BufferedReader br = Files.newBufferedReader(Paths.get("filename.txt"))) {
// read line by line
String line;
while ((line = br.readLine()) != null) {
sb.append(line).append("\n");
}
} catch (IOException e) {
System.err.format("IOException: %s%n", e);
}
System.out.println(sb);
}
}
输出量
A
B
C
D
E
2. BufferedReader
2.1具有JDK 1.7的try-with-resources
经典BufferedReader
可以自动关闭资源。
FileExample2.java
package com.mkyong;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileExample2 {
public static void main(String[] args) {
try (FileReader reader = new FileReader("filename.txt");
BufferedReader br = new BufferedReader(reader)) {
// read line by line
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.err.format("IOException: %s%n", e);
}
}
}
2.2在过去,我们必须手动关闭所有内容。
FileExample3.java
package com.mkyong.calculator;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileExample3 {
public static void main(String[] args) {
BufferedReader br = null;
FileReader fr = null;
try {
fr = new FileReader("filename.txt");
br = new BufferedReader(fr);
// read line by line
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.err.format("IOException: %s%n", e);
} finally {
try {
if (br != null)
br.close();
if (fr != null)
fr.close();
} catch (IOException ex) {
System.err.format("IOException: %s%n", ex);
}
}
}
}
参考文献
翻译自:https://mkyong.com/java/how-to-read-file-from-java-bufferedreader-example/