Java中的FileInputStream和BufferedInputStream有什么区别?
解决方法
主要差异:
> BufferedInputStream是缓冲的,但FileInputStream不是.
> BufferedInputStream从另一个InputStream读取,但FileInputStream从file1读取.
实际上,这意味着对FileInputStream.read()的每次调用都将执行一个系统调用(昂贵)…而大多数对BufferedInputStream.read()的调用将从缓冲区返回数据.简而言之,如果您正在进行“小”读取,则将BufferedInputStream放入流堆栈将提高性能.
>对于大多数目的/用例,这都是相关的.
>还有一些其他的东西(比如标记/重置/跳过),但这些都很专业……
>有关更多详细信息,请阅读the javadocs …和源代码.
1 – 或者更准确地说,来自某个对象1)在操作系统的“文件系统”命名空间中具有名称,以及2)操作系统允许您作为字节序列读取.这可能包括设备,命名管道以及可能不被视为“文件”的各种其他事物.值得注意的是,使用FileInputStream肯定无法读取某些内容.