import java.io.*;
import static java.lang.System.*;
public class IoFileByteCopy {
public static void main(String[] args) throws IOException {
long startTime = currentTimeMillis();//获取当前时间
copy_two();
long endTime = currentTimeMillis();//获取当前时间
out.println(endTime-startTime);
}
//使用自定义缓冲区
public static void copy_one() throws IOException {
FileInputStream filein = null;
try {
filein = new FileInputStream("F://vediodemo.hd.mp4");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
FileOutputStream fileout = null;
try {
fileout = new FileOutputStream("F://hahaone.hd.mp4");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
byte[] bys = new byte[3072];
int len = 0;
while ((len=filein.read(bys))!=-1){
fileout.write(bys, 0, len);
}
filein.close();
fileout.close();
}
//使用提供的缓冲区BufferedInputStream和BufferedOutputStream(但是性能很差劲),建议自己加上缓冲区不建议使用它自己的。
public static void copy_two() throws IOException {
FileInputStream filein = new FileInputStream("F://vediodemo.hd.mp4");
BufferedInputStream bufin = new BufferedInputStream(filein);
FileOutputStream fileout =new FileOutputStream("F://hahaone.hd.mp4");
BufferedOutputStream bufout = new BufferedOutputStream(fileout);
byte[] bys = new byte[3072];
int len = 0;
while ((len=bufin.read(bys))!=-1){
bufout.write(bys, 0, len);
}
bufin.close();
bufout.close();
}
}
IO字节流------文件复制(自定义缓冲区和使用已有的缓冲区(使用已有缓冲区时建议自己建一个缓冲区))
最新推荐文章于 2023-05-28 20:23:35 发布
本文介绍了一种使用Java进行文件复制的方法,通过自定义缓冲区和使用BufferedInputStream及BufferedOutputStream,展示了两种不同的文件复制策略及其性能对比。
252

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



