I do not think this is possible due to JVM limitations. IO api and behavior are shameful for the most popular language / platform in the world.
If you look at the source code of FileUtils, during copying it creates a new file like this
File copiedFile = new File(destDir, srcFile.getName());
file permissions are not saved. And during the actual copy, the bytes are copied to the batch (buffered) and written to a new file.
but you can wait a couple of days or use the preview release of JDK7, which has apis to make this possible.
smartnut007
source share