Unix'teki dosya izinlerini değiştirmek için kullanmam gereken bir kod parçası arıyorum. Projem .. java 1.4.2 üzerinde çalışan ..Java 1.4.2'deki dosya izinleri nasıl değiştirilir?
Saygılarımızla, Senny
Unix'teki dosya izinlerini değiştirmek için kullanmam gereken bir kod parçası arıyorum. Projem .. java 1.4.2 üzerinde çalışan ..Java 1.4.2'deki dosya izinleri nasıl değiştirilir?
Saygılarımızla, Senny
Sadece biri değilsin yapacağız kullanılması gerekirse
sadece örnek kod örneği veya yöntemleri: How to change the file's permission and last modified in Java?
Prensip olarak, mevcut java.io.File yöntemleri yeterli değilse Runtime.exec ("chmod ...") kullanabilirsiniz. Ama bu taşınabilir olmaz.
Bunun için teşekkürler. Benim gibi görünmeyen yöntemim Windows içindi, şöyle ki: 'Runtime.exec ("attrib -r
Onlar JNI dayalı fonksiyonu hayata Ayrıca java.lang.File
ait Gnu CLASSPATH'E uygulanması bakabilir çağırır:
/**
* 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 uyguluyor mu:
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 çağrıyı beyan istenen işlev ...
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);
Yani ... gerçekten istiyorsan, o source of cpio.c bakarak, bunu uygulamaya mümkündür: o standart kütüphaneden libc den chmod
çağırır
Ekstra açıklık getirmek gerekirse: Java 1.6 dosya izinleri için File.canExecute() ve File.setExecutable (boolean) gibi alıcı/ayarlayıcıları tanıtır. Yani bir çözüm, bahsettiğiniz 1.4 yerine en son JDK'yı kullanmaktır. Aksi takdirde, önerildiği gibi, backport'u deneyebilir veya platforma özgü komutları çağırabilirsiniz.
Olası kopyası [Dosyanın izni nasıl değiştirilir ve Java'da son değiştirilir?] (Http://stackoverflow.com/questions/459622/how-to-change-the-files-permission-and-last-modified -in-java) –