Based on the original file, you can know what permissions you need. For the new file, fiddle around with File.setReadable(boolean readable), setWriteable()
, setExecutable()
API's to set the permission for the new files to be the exact same as the one for your original file.
EDIT:
NOTE. This is for Java >= 7.
To set all perms for a file (akin to chmod), move over to Files. There's this method setPosixFilePermissions(..). You will need to import the 3 relevant classes from java.nio.file.*
I had used it like so...
Set<PosixFilePermission> filePermission = new HashSet<PosixFilePermission>();
// OWNER rwe --- ---
filePermission.add(PosixFilePermission.OWNER_READ);
filePermission.add(PosixFilePermission.OWNER_WRITE);
filePermission.add(PosixFilePermission.OWNER_EXECUTE);
// GROUP --- rwe ---
filePermission.add(PosixFilePermission.GROUP_READ);
filePermission.add(PosixFilePermission.GROUP_WRITE);
filePermission.add(PosixFilePermission.GROUP_EXECUTE);
// GLOBAL --- --- rwe
filePermission.add(PosixFilePermission.OTHERS_READ);
filePermission.add(PosixFilePermission.OTHERS_WRITE);
filePermission.add(PosixFilePermission.OTHERS_EXECUTE);
Files.setPosixFilePermissions(Paths.get("{PATH_TO_FILE}"), filePermission);