... Ben Commons delirdi düşünüyorum.
İzinler OS'ye çok özeldir: POSIX dosya izinleri kullanıcının dosya sahibi, grup ve diğerleri için bir dosya okuyabileceğini, yazabileceğini veya yürütebileceğini ayarlamasına izin verirken, NTFS dosya sistemi benzer bir sisteme sahiptir ancak kavram Bir yürütme izni için geçersizdir. Ve erken FAT/FAT32 dosya syste, hiç dosya izinleri yok (salt okunur özniteliğinin bir parçası).
söyledi
, Java 6 yeni java vardır .... java yatan OS bağlı olarak yeni oluşturulan (açılmış) dosyaları düzgün izni ayarlamak için çapraz platform, bu zor olurdu olmak .io.Filiteyi ayarlamanıza izin verir (setExecutable(), setReadable(), vb. gibi yöntemlerle) (bkz.
http://java.sun.com/javase/6/docs/api/java/io/File.html)
Bunlar bana yardımcı oldu, özellikle setExecutable() hangisi benim için önemliydi Linux dosya sisteminde çalıştırılabilir dosyaları açmak zorunda kaldığınızda. Ve hangi işletim sistemi üzerinde çalıştığınızı anlamaya çalışmak zorunda değilsiniz çünkü bu yöntem, Windows veya diğer sistemler altında çalıştırılabilir dosyalar kavramı olmadan çalıştırıyorsa hiçbir şey yapmaz.
Bunun eski bir yazı olduğunu biliyorum, ancak bu sorunu çözdünüz mü? Şu anda aynı sorunu yaşıyorum; Şimdiye kadar bir yürütülebilir dosyayı etkiliyormuş gibi görünüyor ... "el ile" unzip ettiğimde izin doğru – dm76
Aslında çözmedim. Son yaklaşımım vektörü, zip dosyalarını manipüle etmek ve ne yaptığını belirlemek için apache'nin karınca görevini ayırmak olacaktı. –
Ant bunu sadece 1.8'den beri Java.io.File'nin java 6'daki yeni özelliğini kullanarak yapabilir (aşağıdaki cevaba bakın) – dm76