1.字节流
2025年09月21日
1.字节流
InputStream、OutputStream及其子类是“字节流”,以字节为处理单位。
抽象类InputStream的主要方法如表2.10.2所示。
表2.10.2 InputStream的主要方法
抽象类OutputStream的主要方法如表2.10.3所示。
表2.10.3 OutputStream的主要方法
主要的字节流有如下几种。
(1)FileInputStream/FileOutputStream
字节流中的FileInputStream/FileOutputStream是直接和文件相联的节点流。
【代码10.2】实现把e:\test\t1.jpg拷贝为“e:\test\t2.jpg”
【代码10.3】用另一种方式把e:\test\t1.jpg拷贝为e:\test\t2.jpg
(2)BufferedInputStream/BufferedOutputStream
BufferedInputStream/Buffered OutputStream是缓存流,需要用节点流作为参数的处理流,不能直接和文件相联。缓存流提供数据缓存处理,只有当缓存区满了的时候,才从缓存区读入或者写出,这样可以减少IO次数,使得读写操作更加高效。写出时,数据有可能写入缓冲区,没有即刻写出到外设,可以用flush()将缓存区中的数据压入外设文件。流对象关闭的时候,会将缓冲区内容写入外设。
(3)DataInputStream/DataOutputStream
DataInputStream/DataOutputStream是处理流,可以按照数据类型进行读写。
【代码10.4】DataInputStream/DataOutputStream的使用案例
代码10.4的运行结果: