任何人都可以解释我的类之间的区别BufferedReader,FileReader以及Scanner?我想阅读文本文件时使用哪一个?
BufferedReader
FileReader
Scanner
好:
Reader
要读取一个文本文件,我建议使用一个FileInputStream包裹在一个InputStreamReader(这样你就可以指定编码),然后包裹在BufferedReader缓冲和在同一时间读取线的能力。
FileInputStream
InputStreamReader
或者,您可以使用使它更简单的第三方库,例如Guava:
File file = new File("foo.txt"); List<String> lines = Files.readLines(file, Charsets.UTF_8);
或者,如果您使用的是Java 7,则可以在以下位置使用它java.nio.file.Files:
java.nio.file.Files
Path path = FileSystems.getDefault().getPath("foo.txt"); List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);