WatchDir.java kod örneğini kullanarak bir dizinin tüm içeriğini yinelemeli olarak izlemek için Watching a Directory for Changes Java7 nio2 eğitimini takip ettim.Java7 WatchService - Access özyinelemeli iç içe dizinleri silmeye çalışırken erişim engellendi (yalnızca Windows)
Bu, Linux ve Mac üzerinde iyi çalışır, Windows'ta (Vista ve 7'de test edilmiştir), Windows Explorer'ı kullanarak iç içe geçmiş, izlenen klasörleri silmeye çalışmak, "Erişim Reddedildi" mesajına benzer bir ileti ile başarısız olur. Bu eylemi gerçekleştirmek için izne gerek duyarsınız "iç içe dizinlerden birinde bir dosya varsa. Örneğin
, ben Windows iç içe bir klasör ağacı izlerseniz:
-- Folder A
-- Folder A1
-- File F
ve Klasör A silmeyi deneyin dedim erişim engellendi hatası alıyorum. Ben Ancak, iyi çalışıyor:
- Klasör A1 sonra klasör serbest sonra klasörü silmek A
- Sil Dosya silme Sil A
yinelemeli bir izlemek için nio2 WatchService kullanmak için bir yolu var mı yuvalanmış dizin, ancak bir programın yuvalanmış dosyalara erişmekte gibi davranmıyor mu?
Windows'a özgü FILE_TREE değiştiricisi ile ilgili notu sağladığınız için teşekkür ederiz. Java 7 Hata Veritabanında ilgili hatada benzer bir yorum vardı (http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=76a42b61021a94ffffffffa049f7587fd4149?bug_id=6972833 –
Ayrıca Eclipse de , Rt.jar'deki Erişim Kısıtlaması'nın neden olduğu Hatası bir Uyarı'ya indirmem gerekiyordu. Http://lkamal.blogspot.com/2008/09/eclipse-access-restriction-on-library.html sayfasına bakın. –