import java.io.*;

class CopierChrono {
  public static void main(String[] args) throws IOException {
    File inputFile = new File(args[0]);
    File outputFile = new File(args[1]);

    lecture(inputFile, outputFile); //2300
    lectureBuffer(inputFile, outputFile); //300
    lectureBufferBuffer(inputFile, outputFile); //100
  }
  static void lecture(File input, File output) throws IOException {
    FileReader in = new FileReader(input);
    FileWriter out = new FileWriter(output);
    int c;
    Chrono.start();      
    while ((c = in.read()) != -1)
      out.write(c);
    Chrono.stop(); 
    System.out.println("Duree = "+ Chrono.getElapsedTime());
    in.close();
    out.close(); 
  }
  static void lectureBuffer(File input, File output) throws IOException {
    BufferedReader in = new BufferedReader(new FileReader(input));
    BufferedWriter out = new BufferedWriter(new FileWriter(output));
    int c;
    Chrono.start();      
    while ((c = in.read()) != -1)
      out.write(c);
    Chrono.stop(); 
    System.out.println("Duree = "+ Chrono.getElapsedTime());
    in.close();
    out.close(); 
  }
  static void lectureBufferBuffer(File input, File output) throws IOException {
    BufferedReader in = new BufferedReader(new FileReader(input));
    BufferedWriter out = new BufferedWriter(new FileWriter(output));
    char[] tampon = new char[8196];
    int c;
    Chrono.start();      
    while ((c = in.read(tampon)) != -1)
      out.write(tampon,0,c);
    Chrono.stop(); 
    System.out.println("Duree = "+ Chrono.getElapsedTime());
    in.close();
    out.close(); 
  }
}
