java - BufferedReader 与 BufferedInputStream 的性能衡量

标签 java java.util.scanner bufferedreader bufferedinputstream

最近我修改了我的代码

  • 在从 STDIN 获取输入时,我从 Scanner 转移到 BufferedInputStream
  • 我还阅读了有关 BufferedReader 的内容,它从任何 InputStreamReader 获取输入。此 InputStreamReader 可以与 System.in 一起使用来获取 STDIN 输入。
  • BufferedInputStreamread()方法,需要根据目的进一步解析。

就我而言,首先我需要从 STDIN 获取一个整数(假设为 n)作为输入,之后 for 循环将获取 n 个字符串作为输入。这些字符串最多包含 1,00,000 个字符。

问题是:ScannerBufferedInputStreamBufferedReader 中哪一个对我的目标表现更好?

最佳答案

扫描仪旨在简化用户在运行时接受输入参数的过程。这相当于 java 中的 scanf()/getc()/cin。 “Reader”用于读取字符数据,“Stream”用于读取流数据。扫描仪最适合您的用途。因为它的编码和使用都很简单。

关于java - BufferedReader 与 BufferedInputStream 的性能衡量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9903447/

相关文章:

java - 在java中同时读取和写入同一个文件

Java split() 未按预期工作

java - 如何从 opensaml 2.6 迁移到 3.1.1

java - 我如何继续实现子菜单? Java 终端菜单

Java BufferedReader 值变为 null

java - 在 callable.call 中没有关闭的 BufferedReader 会发生什么?

java - 将 Android 应用程序从我的手机复制到我的电脑

java - 为什么在此 for 循环内跳过 Keyboard.nextLine() ? (java)

Java - 扫描仪评论跳过

java - 如何解析文件中的数据行以填充每个数据行的对象?