2010-11-18 13 views
2

Bir yükleme işlemi sırasında, kullanıcı tarafından oluşturulan bir yolun belirtilen bir kullanıcıya yazılabilir olup olmadığını kontrol etmem gerekiyor.Başka bir kullanıcının bir Dosya yazma iznine sahip olup olmadığını kontrol edin

Yol (\ Fileserver \ share gibi bir UNC Yolu), Setup.exe'yi çalıştıran kullanıcıya yazılabilir olmayabilir (Bu yalnızca bir Windows yazılımıdır), dolayısıyla bence How do you check for permissions to write to a directory or file? benim için çalışmayabilir.

Java7'de yeni bir Dosya Sistemi API'sinin olacağını biliyorum, ancak Java7 henüz piyasaya sürülmedi.

DÜZENLEME: Kullanıcı 1 - Kullanıcı 2 yükleyici çalıştırır - yüklü uygulamayı çalıştırır

kullanıcı 1 ihtiyacım kullanıcı 2. hakkında ben hala bilmiyorum "İzin verilmedi" bir hata alırsanız Yükleme işlemi sırasında başka bir kullanıcı hesabının iznini kontrol etmek.

net use /user:<user2> <passwd2>'u kullanabilirim ancak gereksinim duyduğum tüm bilgileri alırsam emin değilim. Kullanıcı 2'nin yazmasına izin verilirse, bilginin mevcut olduğunu, ancak yolun mevcut olduğunu biliyorum. Java 7'den önce

cevap

0

, bir kullanıcının standart kütüphaneyi kullanarak bir java dosyasına yazıp yazamadığını kontrol etmek için standart bir yol yoktur. çünkü eski java io sadece yeterli güç değildir. dosya sahibi, vb göz önüne alırsak

örneğin File.canWrite()

ne yapabilirim, doğrudan kontrol örneğin, buna bir boş satır yazmak çalışmaktır .... işe yaramaz . (Eğer uygulama sadece boş bir satır umurumda değil ve boş satırları biten otomatik silme, bu işe yaramazsa, bu uygulama çalışması gerekir, o zaman ..... bu sadece bir örnektir, sizin düşünerek birçok zor yollar alabilirsiniz

+0

Üzgünüz, bu dosyayı yazma iznine sahip olup olmadığımı kontrol eder.Daha başka bir kullanıcının dosyaya yazıp yazamayacağını bilmem gerekir.Programı ProcessBuilder ile oluşturarak ve bir dosya yazarak sorunu çözebilirim başka bir kullanıcı bağlamında. –