También podría mirar a la implementación GNU ClassPath de java.lang.File
Se implementan la función basado en JNI llamadas:
native/jni/java-io/java_io_VMFile.c:
set_file_permissions: new helper function.
Java_java_io_VMFile_setReadable: new native method to bakcup 1.6 methods
in VMFile.java.
VMFile.java declara la llamada:
/**
* Set the write permission of the file.
*/
public static synchronized native boolean setWritable(String path,
boolean writable,
boolean ownerOnly);
native/jni/java-io/java_io_VMFile.c no aplicar la función deseada ...
JNIEXPORT jboolean JNICALL
Java_java_io_VMFile_setWritable (JNIEnv *env,
jclass clazz __attribute__ ((__unused__)),
jstring name,
jboolean writable,
jboolean ownerOnly)
{
return set_file_permissions (env, name, writable, ownerOnly,
CPFILE_FLAG_WRITE);
}
[...]
result = cpio_chmod (filename, permissions);
Así que ... si realmente lo desea, es posible ponerlo en práctica, mirando el source of cpio.c: llama chmod
de libc biblioteca estándar (LibGW32C hace puerto algunas de esas funciones hasta Windows)
Posible duplicado de [¿Cómo cambiar el permiso del archivo y la última modificación en Java?] (Http://stackoverflow.com/questions/459622/how-to-change-the-files-permission-and-last-modified -in-java) –