关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

Java使用缓冲流实现文件的copy

发布时间:2020-03-16 00:00:00

   

缓冲流实现文件的copy,可以对图片,视频,zip,rar等文件进行操作
package com.io.buffered;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import org.junit.Test;/**
 * 使用缓冲流实现文件的copy */public class BufferedStreamFile {// 非文本文件放copy    @Testpublic void copyFileTest() {// 记录下时间long start = System.currentTimeMillis();
        String src = "C:\\Users\\Administrator\\Desktop\\1.png";
        String dest = "C:\\Users\\Administrator\\Desktop\\2.png";
        copyFile(src, dest);// 结束时间long end = System.currentTimeMillis();
        System.out.println("耗时:" + (end - start));
    }public static void copyFile(String src, String dest) {// 3、创BufferedInputStream 包装对应的节点流,用于提高效率BufferedInputStream bis = null;// 4、创建BufferedOutputStream 包装对应的节点流,用于提高效率BufferedOutputStream bos = null;try {// 1、创建FileInputStream FileInputStream fis = new FileInputStream(src);// 2、创建FileoutputStream FileOutputStream fos = new FileOutputStream(dest);

            bis = new BufferedInputStream(fis);
            bos = new BufferedOutputStream(fos);// 5、读取对应的文件内容byte[] b = new byte[1024];int len = 0;while ((len = bis.read(b)) != -1) {// 6将读取内容写到目标地点bos.write(b, 0, len);
            }// bos.flush();// 强制情况缓冲区【防止数据的丢失,一般情况不要用加】} catch (IOException e) {
            e.printStackTrace();
        }// 7、关闭流if (bos != null) {try {
                bos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }if (bis != null) {try {
                bis.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }
}

 


/template/Home/Zkeys/PC/Static