|    import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.nio.MappedByteBuffer;
 import java.nio.channels.FileChannel;
 
 public class MainClass {
 
 public static void main(String args[]) {
 FileInputStream fIn;
 FileOutputStream fOut;
 FileChannel fIChan, fOChan;
 long fSize;
 MappedByteBuffer mBuf;
 
 try {
 fIn = new FileInputStream(args[0]);
 fOut = new FileOutputStream(args[1]);
 
 fIChan = fIn.getChannel();
 fOChan = fOut.getChannel();
 
 fSize = fIChan.size();
 
 mBuf = fIChan.map(FileChannel.MapMode.READ_ONLY, 0, fSize);
 
 fOChan.write(mBuf); // this copies the file
 
 fIChan.close();
 fIn.close();
 
 fOChan.close();
 fOut.close();
 } catch (IOException exc) {
 System.out.println(exc);
 System.exit(1);
 } catch (ArrayIndexOutOfBoundsException exc) {
 System.out.println("Usage: Copy from to");
 System.exit(1);
 }
 }
 }
 
 
 
 
 
 
 |