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
  • 相关阅读:
    关于 token
    windows 使用 virtualbox,搭建 minikube 环境
    kafka 和 rocketMQ 的数据存储
    分享周鸿祎的《如何建立一个“铁打的营盘”》
    How to configue session timeout in Hive
    毕业十年纪念
    常用排序算法
    [异常处理]class kafka.common.UnknownTopicOrPartitionException (kafka.server.ReplicaFetcherThread)
    线程的几个状态
    星型模式
  • 原文地址:https://www.cnblogs.com/starcrm/p/1337829.html
Copyright © 2011-2022 走看看