FileInputStream inFile = new FileInputStream(args[0]);
FileOutputStream outFile = new FileOutputStream(args[1]);
FileChannel inChannel = inFile.getChannel();
FileChannel outChannel = outFile.getChannel();
FileLock outLock = outChannel.lock();
FileLock inLock = inChannel.lock(0, inChannel.size(), true);
inChannel.transferTo(0, inChannel.size(), outChannel);
outLock.release();
inLock.release();
inChannel.close();
outChannel.close();