Java BufferedReader 详解

IT 文章2年前 (2023)发布 小编
0 0 0

在这篇教程中,我们将学习如何使用Java的BufferedReader来读取文件或键盘输入。您可以将给出的示例作为模板,并根据需要进行重用/重写。

1. BufferedReader 类

BufferedReader类从字符输入流中读取文本,通过缓冲字符来提供更高效的读取操作,从而减少I / O操作的次数。

1.1. 创建 BufferedReader

要使用BufferedReader,我们应该将其包装在任何读取操作可能代价高昂的Reader(例如FileReader和InputStreamReader)中。

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站

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的默认缓冲区大小,并学习了如何从文件和系统控制台进行读取。

ad

AI 工具导航

优网导航旗下AI工具导航,精选全球千款优质 AI 工具集

© 版权声明

相关文章

暂无评论

暂无评论...