文章目录 1. BufferedReader 类 1.1. 创建 BufferedReader 1.2. 配置缓冲区大小 2. 使用 BufferedReader 读取文件 2.1. 按行读取文件 2.2. 读取控制台输入 3. 结论 ……
文
章
目
录
- 1. BufferedReader 类
- 1.1. 创建 BufferedReader
- 1.2. 配置缓冲区大小
- 2. 使用 BufferedReader 读取文件
- 2.1. 按行读取文件
- 2.2. 读取控制台输入
- 3. 结论
在这篇教程中,我们将学习如何使用Java的BufferedReader来读取文件或键盘输入。您可以将给出的示例作为模板,并根据需要进行重用/重写。
1. BufferedReader 类
BufferedReader类从字符输入流中读取文本,通过缓冲字符来提供更高效的读取操作,从而减少I / O操作的次数。
1.1. 创建 BufferedReader
要使用BufferedReader,我们应该将其包装在任何读取操作可能代价高昂的Reader(例如FileReader和InputStreamReader)中。
BufferedReader in = new BufferedReader(new FileReader(\"foo.in\"));
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
或者,我们可以直接使用NIO的Files类来获取BufferedReader引用。
BufferedReader reader =
Files.newBufferedReader(Paths.get(\"/path/file\"))
1.2. 配置缓冲区大小
默认情况下,BufferedReader使用8KB的缓冲区大小。虽然在创建时可以更改缓冲区大小,但在大多数情况下默认大小是很好的选择。
BufferedReader in = new BufferedReader(new FileReader(\"foo.in\"), 65536); //64 KB buffer
2. 使用 BufferedReader 读取文件
2.1. 按行读取文件
try (BufferedReader bufferedReader
= new BufferedReader(new FileReader(\"/path/file\"))) {
String currLine;
while ((currLine = bufferedReader.readLine()) != null) {
System.out.println(currLine);
System.out.println(System.lineSeparator());
}
}
catch (IOException e) {
e.printStackTrace();
}
2.2. 读取控制台输入
InputStreamReader类用于从底层字节输入流中读取数据。将InputStreamReader包装在BufferedReader中可提供最高效率。
try (BufferedReader reader
= new BufferedReader(new InputStreamReader(System.in)))
{
System.out.println(\"Enter your name\");
String name=br.readLine();
System.out.println(\"Welcome \"+name);
}
catch (IOException e) {
e.printStackTrace();
}
3. 结论
在这篇简短的Java教程中,我们学习了如何创建和操作Java中的BufferedReader实例。我们了解了如何配置BufferedReader的默认缓冲区大小,并学习了如何从文件和系统控制台进行读取。
还没有评论呢,快来抢沙发~