CopyDemo1~2 复制文件

/**
 *    复制文件
 *    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();
    }
}
时间: 2024-08-03 14:00:22

CopyDemo1~2 复制文件的相关文章

php 批量进行复制文件

php 批量进行复制文件 1.前言 目标:php批量进行复制指定的目录文件夹下所有文件复制到另一个文件夹下 所使用的的php函数:is_dir,opendir,readdir,scandir,mkdir,closedir,等等(注:其他文件操作函数也可以完成,这里只列举了本次使用的函数) 2.相关函数介绍 2.1.is_dir 详情参考:https://www.w3cschool.cn/php/func-filesystem-is-dir.html 2.2.opendir 详情参考:https:

[shell实例]——用脚本实现向多台服务器批量复制文件(nmap、scp)

练习环境: (1)所有服务器将防火墙和selinux关闭 (2)所有服务器的root密码设置为aixocm (3)所有服务器都为10.0.100.*网段,并保证能够和其它主机通信 (4)所有服务器确保sshd服务已经启动(开放默认的22端口) 脚本要求实现: 将本机/etc目录下以conf为扩展名的文件打包压缩为tar.bz2,然后将此文件复制一份到10.0.100.1-->10.0.100.254地址段上所有开启的主机,具体路径为/tmp/sjjy/文件.在使用scp复制时无需手动输入密码.

工作笔记:复制文件--从windows到ubuntu,再到fedora

最近在测试跨平台类库,于是写了一些小程序. 当然主要利用vs进行主要的代码开发.eclipse进行linux的调试. 那么需要不时同步项目文件. 考虑到项目简单,所以没有使用svn. 1. 从windows同步到ubuntu. IIS建立一个www站点.物理目录指向项目文件所在的目录. 在ubuntu终端下,使用wget 下载需要的源代码. 2. 从ubuntu同步到fedora. 由于在ubuntu下,项目已经编译,所以仅需要复制相关的文件到fedora. 本地创建一个临时目录,通过sshfs

复制文件(上传至共享文件夹)

复制文件(上传至共享文件夹) 功  能:复制文件.也可以指定是否覆盖同名的目标文件. 语  法:FileCopy ( sourcefile , targetfile {, replace}) 参  数: sourcefile:string 类型,指定要复制文件的名称(源文件名称): targetfile:string 类型,指定要复制到哪一个文件(目标文件名称): replace:Boolean类型,指定当目标文件已经存在时,是否覆盖同名文件. True --- 覆盖同名文件: False --

node复制文件夹,压缩zip,上传

一:用到的模块和简单介绍 npm文档:request :node请求的模块,可以给用程序请求服务器的接口https://www.npmjs.com/package/requestfs:读写文件的,很常用https://www.npmjs.com/package/fspath:路径,各种给文件夹弄路径什么的https://www.npmjs.com/package/pathjs-cookie:获取cokie的,在请求的时候需要用到https://www.npmjs.com/package/js-c

php之复制文件——php经典实例

php之复制文件--php经典实例 <?php function dirCopy($dir1,$dir2){ //判断是否目录存在 if(!file_exists($dir2) || !is_dir($dir2)){ //不是文件或目录 就创建 mkdir($dir2); } //打开 $dd=opendir($dir1); //遍历 while(false !== ($f=readdir($dd))){ //过滤 if($f=="." || $f==".."

linux如何复制文件夹和移动文件夹

复制: CP命令 格式: CP [选项] 源文件或目录 目的文件或目录 选项说明:-b 同名,备分原来的文件 -f 强制覆盖同名文件 -r 按递归方式保留原目录结构复制文件 cp -Rf /home/user1/* /root/temp/ 将 /home/user1目录下的所有东西拷到/root/temp/下而不拷贝user1目录本身. 即格式为:cp -Rf 原路径/ 目的路径/ 移动: mv ./WorkReport/web.xml ./WorkReport/WEB-INF/ 注:移动/Wo

Ubuntu vsftp复制文件到远端时错误,Permission denied

Ubuntu 下复制文件到远端时错误,Permission denied 失败原因如下: (1)vsftp默认配置不允许上传文件 解决办法:修改配置文件 vi /etc/vsftpd.conf. 将"write_enable=YES"前面的#去掉,然后保存. 最后重启vsftp服务器  : service vsftpd restart (2)权限不够 切换到root用户,使用chmod -R 777 filename ,这里filename是你的目录或者文件.-R是指递归设置权限,77

java io流(字节流)复制文件

java io流(字节流) 复制文件 //复制文件 //使用字节流 //复制文本文件用字符流,复制其它格式文件用字节流 import java.io.*; public class Index{ public static void main(String[] args) throws Exception{ //字符流方式 //FileReader fz = new FileReader("E:/1.txt"); //FileWriter zt = new FileWriter(&qu