码迷,mamicode.com
首页 > 其他好文 > 详细

CopyDemo1~2 复制文件

时间:2016-04-30 15:29:12      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:

/**
 *    复制文件
 *    1.一次读取一个字节,用循环不断读取到没有字节可读
 *    2.循环体内,一次写一个字节.
     3.完成复制

     总结: 但是复制大文件,这样的方法,效率底下
 */
public class CopyDemo1 {

    public static void main(String[] args) throws IOException {
        RandomAccessFile src = new RandomAccessFile("rafDemo.txt", "r");
        RandomAccessFile desc = new RandomAccessFile("rafDemocopy.txt", "rw");

        int count = 0;
        int bitIndex = 0;
        /*定义循环条件,只要当返回的"int整型的低8位" bitIndex值不为-1时,表示src的文件里还有内容*/
        while ( (bitIndex = src.read())!= -1){

            //满足循环条件,即desc指定的文件开始写入bitIndex的内容
            desc.write(bitIndex);

            //这里我为了实验写入过程,我把每个字节写入过程输出显示,
            count++;    //计数器
            System.out.println("第"+count+"字节写入完毕");
            /*    输出结果:
                第1字节写入完毕
                第2字节写入完毕
                第3字节写入完毕
                第4字节写入完毕
                第5字节写入完毕
                第6字节写入完毕
                第7字节写入完毕
                第8字节写入完毕
             */
        }
    }
}
/**
 *    复制文件
 *     提高读写数据量,减少读写次数,可以提高
 *      读写效率

 */
public class CopyDemo2 {

    public static void main(String[] args) throws IOException {
        RandomAccessFile src = new RandomAccessFile("The.rar", "r");
        RandomAccessFile desc = new RandomAccessFile("E:\\Ts.rar", "rw");

        //定义个byte数组,存储临时的字节量.
        byte[] buf = new byte[1024*50];    //10k缓存

        int len = 0;
        long start = System.currentTimeMillis();
        /*定义循环条件,只要当返回的"int整型的低8位" len值不为-1时,表示src的文件里还有内容*/
        while ( (len = src.read(buf))!= -1){

            //满足循环条件,即desc指定的文件开始写入buf的内容
            desc.write(buf,0,len);
        }
        long end = System.currentTimeMillis();
        System.out.println("复制完毕,耗时 :"+ (end - start)+ "ms");

        src.close();
        desc.close();
    }
}

 

CopyDemo1~2 复制文件

标签:

原文地址:http://www.cnblogs.com/zyjcxc/p/5448793.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!