2013-03-20 5 views
5

मैं जावा एनआईओ WatchService का उपयोग कर एकाधिक निर्देशिकाओं को देखना (मॉनीटर) देखना चाहता हूं। मेरी समस्या यहां देखने के लिए निर्देशिकाओं की संख्या गतिशील है और उपयोगकर्ता WatchService पर किसी भी निर्देशिका को जोड़ सकता है। क्या यह प्राप्त करने योग्य है?एकाधिक निर्देशिकाओं के लिए जावा nio WatchService

+2

पर आधारित है हाँ, यह प्राप्त है दो Paths

 this.watcher = FileSystems.getDefault().newWatchService(); this.keys = new HashMap<>(); Path plugins = Paths.get(INSTANCE.getPluginPath()); logger.info(String.format("Scanning %s ...", plugins)); registerAll(plugins); Path drivers = Paths.get(INSTANCE.getDriverPath()); logger.info(String.format("Scanning %s ...", drivers)); registerAll(drivers); 

सुन सकते हैं कोड का एक टुकड़ा है। – Sanchit

+0

@Sanchit आपके उत्तर के लिए धन्यवाद। क्या आप कृपया मुझे मार्गदर्शन कैसे प्राप्त कर सकते हैं –

उत्तर

6

उसी WatchService के साथ कई पथ पंजीकृत करना संभव है। प्रत्येक पथ का अपना WatchKey मिलता है। take() या poll() फिर संशोधित किए गए पथ से संबंधित WatchKey वापस कर देगा।

विवरण के लिए Java's WatchDir example देखें।

1

मैं बस यह बताने की कोशिश कर रहा हूं कि WatchService का उपयोग करके यह कैसे किया जा सकता है।

यहाँ दिखाता है कि कैसे आप एक WatchService उदाहरण का उपयोग करें और उदाहरण Oracle Example

संबंधित मुद्दे