Reader是Java的IO库提供的另一个输入流接口
Reader本质上是一个基于InputStream的byte到char的转换器,那么,如果
我们已经有一个InputStream,想把它转换为Reader,是完全可行的。
InputStreamReader就是这样一个转换器,它可以把任何InputStream转换为
Reader
建议将InputStreamReader包裹在BufferedReader中以获得最佳效率。
举例:
// 持有InputStream:
InputStream input = new FileInputStream("src/readme.txt");
// 变换为Reader:
Reader reader = new InputStreamReader(input, "UTF-8");
try (FileInputStream fis = new FileInputStream(fileName);
InputStreamReader isr = new InputStreamReader(fis,
StandardCharsets.UTF_8);
BufferedReader br = new BufferedReader(isr)) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
}