java中关于FileInputStream和FileOutputStream

2025-06-28 05:35:16
推荐回答(1个)
回答1:

1024*10代表10K
byte[] buf=new byte[1024*10];这句是创建一个有10K字节的字节数组,作为读写缓冲区
当读取文件时 (len=fis.read(buf))!=-1 一次性从输入流fis中读取10K字节的数据,写到缓冲区buf中,然后返回读取的数据长度len,一直读到返回-1
当写文件时 fos.write(buf,0,len);将buf字节数组中从0到len的数据,(一般len是10K,只有最后一次数据长度len可能不是10K整)一次性写入输出流fos中.
创建字节数组作为读写缓冲区,可以更快的读写文件,一次读写10K字节数据比一个一个读写要快很多,所以这样写代码.