• java二进制文件复制


    package com.starain.io;

    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;

    public class ByteReadAndWrite {
    public static void main(String[] args) throws IOException {

    /*普通二进制读写完成copy文件方法,效率低*/
    File filePathName1 = new File("D:/1.txt");
    File filePathName2 = new File("e:/1.txt");
    try {
    FileInputStream file1 = new FileInputStream(filePathName1);
    FileOutputStream file2 = new FileOutputStream(filePathName2);
    byte put[] = new byte[12];
    int count1 = 0;
    while(file1.read(put)!=-1){
    file2.write(put);
    count1++;
    }
    System.out.println("读取"+count1+"次");
    file1.close();
    file2.close();
    } catch (Exception e) {
    System.out.println("error");
    }

    /*Buffered方法读写copy大文件*/
    File filePathName3 = new File("E:/豆电雨/Struts2_值栈.wmv");
    File filePathName4 = new File("f:\Struts2_值栈.wmv");
    try {
    FileInputStream file3 = new FileInputStream(filePathName3);
    FileOutputStream file4 = new FileOutputStream(filePathName4);
    BufferedInputStream bufferedFile1 = new BufferedInputStream(file3,1000000);//硬盘进制为1000,改变缓冲大小达到节省时间,优化读写的目的
    BufferedOutputStream bufferedFile2 = new BufferedOutputStream(file4,1000000 );
    byte []put2 = new byte[100000];
    int count2 = 0;
    long longTime1 = System.currentTimeMillis();
    while(bufferedFile1.read(put2)!=-1){
    bufferedFile2.write(put2);
    count2++;
    }
    long longTime2 = System.currentTimeMillis();
    System.out.println("用时:"+(longTime2 - longTime1)+"ms");
    System.out.println("用"+count2+"次");

    /*一定养成好的习惯,防止内存泄漏

    *先创建的后关闭

    *后创建的先关闭

    */
    bufferedFile1.close();
    bufferedFile2.close();
    file3.close();
    file4.close();
    } catch (FileNotFoundException e) {
    System.out.println("error2");
    }
    }
    }

  • 相关阅读:
    [学习笔记]Java代码中各种类型变量的内存分配机制
    记录一次linux线上服务器被黑事件
    浅谈Facebook的服务器架构(组图)
    make: *** [sapi/cli/php] Error 1 解决办法
    linux CentOS 系统下如何将php和mysql命令加入到环境变量中
    Linux系统安装Apache 2.4.6
    日请求亿级的QQ会员AMS平台PHP7升级实践
    聊一聊淘宝首页和它背后的一套
    PHP与MySQL通讯那点事
    PHP多进程(4) :内部多进程
  • 原文地址:https://www.cnblogs.com/starainDou/p/4705611.html
Copyright © 2020-2023  润新知