【发布时间】:2020-11-30 20:16:05
【问题描述】:
案例 1 => BufferedInputStream 已创建,我想一次读取() 12 个字节,但它最多缓冲 1024 个字节(例如)以提高性能。因此,它使用 BufferedInputStream 构造函数中提供的传递的 FileInputStream 在单个 sys 调用中读取 1024 个字节。
案例 2 => 在 FileInputStream.read(byte[]) 中,我可以传递一个大小为 1024 的字节数组。这意味着在每个系统调用中,我的 FileInputStream 读取 1024 个字节。
从案例 1 和案例 2 来看,我看不到 BufferedInputStream 在运行时性能方面提供的任何改进。它所做的只是将 FileInputStream 包装起来,并与我在案例 2 中所做的相同。
谁能帮我更好地理解?
【问题讨论】:
-
请注意,案例 #2 不能保证读取 1024 个字节。可能会更少。
标签: java file-io stream iostream bufferedinputstream