package io; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; /** * 提高每次读写的数据量减少实际读写的次数可以提高读写效率 * * 块读写:一次读写一组字节 */ public class CopyDemo2 { public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputStream("01.rmvb"); FileOutputStream fos = new FileOutputStream("01_cp.rmvb"); /* java.io.InputStream超类上定义了块读字节的操作: int read(byte[] data) 一次性读取给定字节数组data总长度的字节量并将读取到的所有字节存入到该数组中。 返回值表达本次实际读取的字节数量。如果返回值为整数-1则表示读取到了流的末尾。 文件内容(6字节): 11001100 00110011 11110000 00001111 10101010 01010101 byte[] data = new byte[4];//4字节长的数组 int len = 0;//记录每次实际读取的字节数 第一次调用len = fis.read(data); 一次性尝试从文件中读取data数组长度的字节量(本案例:4个字节) 11001100 00110011 11110000 00001111 1
块读写:一次读写一组字节
![](https://img-home.csdnimg.cn/images/20240711042549.png)