- package _07;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- //用缓冲字节流复制文件
- // 异常处理用 try-catch 会好一点 没有用try-catch 如果出现异常 f.close()关闭操作可能就没有执行
- // 为了容易看 直接抛出异常
- public class copy_text {
- public void copy(String s1,String s2) throws Exception {
- File f1 = new File(s1); //必须存在
- File f2= new File(s2); //可以不存在
- FileInputStream f3=new FileInputStream(f1);
- FileOutputStream f4=new FileOutputStream(f2);
- BufferedInputStream f5=new BufferedInputStream(f3);
- BufferedOutputStream f6=new BufferedOutputStream(f4);
- byte []b=new byte[20];
- int i;
- while((i=f5.read(b))!=-1){
- f6.write(b,0,i); //从0--i 写入数据 不能为0--b.length 因为最后可能写不满b整个数组 导致前面写的数据没有覆盖 导致复制错误
- f6.flush(); //最后一次可能存不满 加着一个 保险一点
- }
- f5.close();
- f6.close();
- }
- public static void main(String[] args) throws Exception {
- String s1="C:\\Users\\ASUS\\Desktop\\编程思想.docx"; // 想要复制文件路径
- String s2="C:\\Users\\ASUS\\Desktop\\编程思想2.docx"; //文件保存路径
- copy_text c=new copy_text();
- long start=System.currentTimeMillis();
- c.copy(s1,s2);
- long end=System.currentTimeMillis();
- System.out.println("运行时间"+(end-start));
- }
- }
缓冲流实现文件复制(bufferedInputStream为例子)
最新推荐文章于 2024-06-29 14:19:53 发布