第二十篇:JAVA输入输出(IO)之字节流
来源:互联网 发布:中华书局知乎 编辑:程序博客网 时间:2024/05/16 05:02
字节输入流
java.io.InputStream类是表示字节输入流的所有类的超类,字节输入流都直接或间接的继承了该类,通常情况下我们会使用该类的子孙类操作字节输入流,实现对字节输入流的读取。
在该类中,我们最常用的方法有如下几个:
对于很多初学者而言,有时候比较纠结的是什么时候用输入流,什么时候用输出流。其实这个是很简单的,我们只需要搞清楚数据的流向就可以了,如果数据是流向内存的,就是输入流,由内存流出的就是输出流。
由于输入流的实现类也很多,这里使用文件输入流(java.io.FileInputStream)作为例子为大家介绍,其他的输入流基本上是大同小异,可以自己尝试着使用。需要注意的是,不管是输入流还是输出流,在使用完毕后要调用相应的关闭方法释放流资源,且关闭资源时遵循先开后闭的原则。
直接上例子:
运行结果为:
111111111112121112211212
使用read()
方法的效率是很低的,在实际开发中,我们会经常使用read(byte[] b)
,另外JAVA输入流还提供了缓冲流。java.io.BufferedInputStream
就是字节输入缓冲流。BufferedInputStream 为另一个输入流添加一些功能,即缓冲输入以及支持 mark 和 reset 方法的能力。在创建 BufferedInputStream 时,会创建一个内部缓冲区数组。在读取或跳过流中的字节时,可根据需要从包含的输入流再次填充该内部缓冲区,一次填充多个字节。mark 操作记录输入流中的某个点,reset 操作使得在从包含的输入流中获取新字节之前,再次读取自最后一次 mark 操作后读取的所有字节。
字节输出流
上面介绍了JAVA的字节输入流,那么相反的就会有字节输出流。java.io.OutputStream类是表示输出字节流的所有类的超类。
在该类中,我们最常用的方法有如下几个:
输出流接受输出字节并将这些字节发送到某个接收器。与FileInputStream对应的有java.io.FileOutputStream类。下面我们就以FileOutputStream演示向文件中写入数据。
使用示例
现在我们将输入流和输出流整合在一起,完成文件的复制。
- 第二十篇:JAVA输入输出(IO)之字节流
- JAVA输入输出(IO)之字节流
- java IO(输入输出) 字节流
- java基础5:io流对象之字节输入输出流
- java IO总结之字节流操作控制台输入输出
- IO(输入输出)-字节流
- java IO总结之字节流操作控制台输入输出(高效)
- IO之字节数组输入输出流
- Java基础-IO-字节输入输出流(笔记)
- JAVA IO字节输入输出流实例
- java IO(输入输出) 字节缓冲流
- 字节输入输出流:java.io.FileInputStream和java.io.FileOutputStream
- JAVA输入输出(IO)之字符流
- JAVA输入输出(IO)之常用流
- IO(输入输出)(一)字节流
- 第二十二篇:JAVA输入输出(IO)之常用流
- Java IO之输入输出流
- 黑马程序员————java基础---------IO输入输出之字节流
- String的一些常用方法
- 线程学习笔记(十一)-查看JVM中所有的线程和线程组
- Maven镜像 阿里云mirror如何使用
- 图像数据转换成db(leveldb/lmdb)文件
- MyBatis开发环境的搭建
- 第二十篇:JAVA输入输出(IO)之字节流
- C++ Socket(一)
- 欢迎使用CSDN-markdown编辑器
- 第二十一篇:JAVA输入输出(IO)之字符流
- 第二十二篇:JAVA输入输出(IO)之常用流
- linux下多种锁的比较
- 程序员应该访问的最佳网站中文版
- 绘制流程图使用技巧:快速学会怎么画流程图
- 清除浮动