zoukankan      html  css  js  c++  java
  • Optimization with Custom Buffering

     

    import java.io.*;

    public class IOTest {

    public static void main(String[] args){

                 IOTest io = new IOTest();

                 try{

                 long startTime = System.currentTimeMillis();

                 io.readWrite("c:/temp/test1.txt","c:/temp/test4.txt");    

                 long endTime = System.currentTimeMillis();

                 System.out.println("Time taken for reading and writing using default behaviour : "

                                                               + (endTime - startTime) + " milli seconds" );

     

                 long startTime1 = System.currentTimeMillis();

                 io.readWriteBuffer("c:/temp/test2.txt","c:/temp/test5.txt");           

                 long endTime1 = System.currentTimeMillis();

                 System.out.println("Time taken for reading and writing using buffered streams : "

                                                               + (endTime1 - startTime1) + " milli seconds" );

     

                 long startTime2 = System.currentTimeMillis();

                 io.readWriteArray("c:/temp/test3.txt","c:/temp/test6.txt");             

                 long endTime2 = System.currentTimeMillis();

                 System.out.println("Time taken for reading and writing using custom buffering : "

                                                               + (endTime2 - startTime2) + " milli seconds" );

                 }catch(IOException e){ e.printStackTrace();}

    }

    public static void readWrite(String fileFrom, String fileTo) throws IOException{

                 InputStream in = null;

                 OutputStream out = null;

                 try{

                              in = new FileInputStream(fileFrom);

                              out = new FileOutputStream(fileTo);

                              while(true){

                                              int bytedata = in.read();

                                              if(bytedata == -1)

                                              break;

                                              out.write(bytedata);

                              }

                 }

                 finally{

                  if(in != null)

                              in.close();

                  if(out !=null)

                              out.close();

                 }

    }

    public static void readWriteBuffer(String fileFrom, String fileTo) throws IOException{

                 InputStream inBuffer = null;

                 OutputStream outBuffer = null;

                 try{

                              InputStream in = new FileInputStream(fileFrom);

                              inBuffer = new BufferedInputStream(in);

                              OutputStream out = new FileOutputStream(fileTo);

                              outBuffer = new BufferedOutputStream(out);

                              while(true){

                                              int bytedata = inBuffer.read();

                                              if(bytedata == -1)

                                              break;

                                              out.write(bytedata);

                              }

                 }

                 finally{

                  if(inBuffer != null)

                              inBuffer.close();

                  if(outBuffer !=null)

                              outBuffer.close();

                 }

    }          

    public static void readWriteArray(String fileFrom, String fileTo) throws IOException{

                 InputStream in = null;

                 OutputStream out = null;

                 try{

                              in = new FileInputStream(fileFrom);

                              out = new FileOutputStream(fileTo);

                              int availableLength = in.available();

                              byte[] totalBytes = new byte[availableLength];

                              in.read(totalBytes);

                              out.write(totalBytes);


                 }

                 finally{


                  if(in != null)

                              in.close();

                  if(out !=null)

                              out.close();

                 }

    }          

    }

    关于作者: 王昕(QQ:475660) 在广州工作生活30余年。十多年开发经验,在Java、即时通讯、NoSQL、BPM、大数据等领域较有经验。
    目前维护的开源产品:https://gitee.com/475660
  • 相关阅读:
    最全的.NET Core跨平台微服务学习资源没有之一
    MySQL添加列、删除列,创建主键等常用操作总结
    SQL Server函数之空值处理
    SqlServer中循环和条件语句
    【转载】ASP.NET Core Web 支付功能接入 微信-扫码支付篇
    【转载】ASP.NET Core Web 支付功能接入 支付宝-电脑网页支付篇
    Core知识整理
    C#对接----韵达开发平台--取电子面单
    Cookie 用法
    微信支付V3版本的那些事
  • 原文地址:https://www.cnblogs.com/starcrm/p/1337829.html
Copyright © 2011-2022 走看看