IO流的各种文件复制方法的效率比较
发布时间
阅读量:
阅读量
IO流copy文件的几种方法介绍
1、FileInputStream与FileOutputStream:文件的读写一般是以字节为单位进行操作的,在这种情况下从文件中获取数据或者将数据存入文件都是以单个字节为基本单位完成的。其中FileInputStream负责从文件中读取数据并将其转换为字节形式的操作者是前者而后者则负责接收并存储这些字节形式的数据流对象对数据的读写过程是以逐字节的方式进行的为了后续测试其读写速度我们将会对其进行评估在实际操作过程中我们可以这样理解read()方法它底层其实是一个native方法这种 native方法通过将Java语言与底层C语言连接起来实现了对输入输出流数据的读取并将这些数据保存在一个8位(一个字节)宽度的寄存器中最基础的文件流操作就是对这个寄存器中的数据进行相应的操作这也是为什么这种方法是以逐字节方式进行读写的根本原因每次读取一个完整的字节后系统就会触发溢出中断CPU会立即响应中断请求从而导致这样的操作效率非常低下因此这种方法在处理大文件时就显得力不从心
2、BufferedInputStream与BufferedOutputStream:缓冲输入流与缓冲输出流如何获取缓冲流对象呢?我们可以采用第1种方法中的对象并通过包装的方法将其转化为缓冲流对象的方式即可实现这一目标那么什么是缓冲呢?JVM内存空间中特意开辟了一块区域用于临时存储
全部评论 (0)
还没有任何评论哟~
