file - permission - ¿Cómo cambiar los permisos de archivos de Java 1.4.2?
linux file permissions calculator (3)
También puede consultar la implementación Gnu ClassPath de java.lang.File
Implementaron la función basada en llamadas JNI:
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 implementa 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);
Entonces ... si realmente lo quiere, es posible implementarlo, mirando la fuente de cpio.c : llama a chmod
desde la biblioteca estándar de libc ( LibGW32C transfiere algunas de esas funciones a Windows)
Estoy buscando un fragmento de código, con el cual debo cambiar los permisos de archivo en Unix. Mi proyecto se ejecuta en java 1.4.2 ..
solo un ejemplo de ejemplo de código o métodos que se deben usar lo harán ...
Saludos, Senny
Para ser más claro: Java 1.6 presenta getters / setters como File.canExecute () y File.setExecutable (boolean) para permisos de archivos. Entonces, una solución es usar el último JDK en lugar del 1.4 que mencionaste. De lo contrario, como se sugiere, puede intentar hacer una copia de seguridad o llamar a comandos específicos de la plataforma.
No eres el único: ¿Cómo cambiar el permiso del archivo y la última modificación en Java?
En principio, podría usar Runtime.exec ("chmod ...") si los métodos existentes de java.io.File no son suficientes. Pero no sería portátil.