下面用一个例子演示:
package com.test.RWByteStream;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
//带缓冲流的字节流文件读写,与不加缓冲流的读写对比,大大减少了读写时间。下面的例子是复制ads.mp4
public class ReadByBufferByteStream {
public static void main(String[] args) {
try {
FileInputStream fis=new FileInputStream("ads.mp4");
BufferedInputStream bis=new BufferedInputStream(fis); //(fis,10000)10000为缓冲区大小,大小要在不断试验中调整大小,不是越大越好
FileOutputStream fos=new FileOutputStream("new.mp4");
BufferedOutputStream bos=new BufferedOutputStream(fos);
byte input[]=new byte[100]; //每次读取100字节,大小要在不断试验中调整大小,不是越大越好
int count=0; //记录读取次数
while(bis.read(input)!=-1){
bos.write(input);
count++;
}
bis.close(); //后打开的要先关闭
fis.close();
bos.close();
fos.close();
System.out.println("读取了"+count+"次");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
本文介绍了一种使用Java中的缓冲字节流进行文件复制的方法,通过实例演示如何利用BufferedInputStream和BufferedOutputStream实现高效的文件读写操作。
911

被折叠的 条评论
为什么被折叠?



