在 Java 中,
InputStream
、DataInputStream
和 BufferedInputStream
有何区别?InputStream
、DataInputStream
和 BufferedInputStream
有何区别?如果问题是:“这些类之间的区别是什么”,以下是一个简要总结,但请阅读javadoc以获取更多信息:
InputStream是从流(网络或文件)中读取字节的基类。它提供了从流中读取字节并检测流结束的能力。
DataInputStream是一种InputStream,可直接读取原始数据类型的数据。
BufferedInputStream是一种InputStream,它从流中读取数据并使用缓冲区来优化对数据的速度访问。实际上,数据是预先读取的,这减少了磁盘或网络访问。
我认为你是在询问差异,我会提供一些详细信息。
输入流 (Input Stream)
意味着:这个抽象类是所有表示字节输入流的类的超类。需要定义 InputStream 子类的应用程序必须始终提供一个返回输入的下一个字节的方法。
DataInputStream
:数据输入流以机器无关的方式使应用程序从基础输入流中读取基本的 Java 数据类型。应用程序使用数据输出流来写入数据,稍后可以由数据输入流读取。
更多信息请使用此链接http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html
BufferedInputStream
: 缓冲输入流添加了另一个输入流的功能,即缓冲输入并支持标记和重置方法。当创建 BufferedInputStream 时,会创建一个内部缓冲区数组。随着从流中读取或跳过的字节数量的增加,内部缓冲区会根据需要从包含的输入流中重新填充,每次很多字节。