2012-10-09 23 views
40

जब मैं तो जैसे एक एकल फाइल करने के लिए द्रष्टा पथ सेट करने का प्रयास:उपयोग FileSystemWatcher सी # में एक एकल फाइल पर

The directory name C:\Cromos 3.0\repository\diagnostics\dwm01_2011_06_13__09_03.LXD is invalid. 

आप केवल सेट कर सकता हूँ:

watcher.Path = filePath1; 

मैं त्रुटि मिलती है फ़ोल्डर निर्देशिका के लिए पथ?

+0

वॉचर। फ़िल्टर जो आपको चाहिए वह करेगा। – Jay

+0

@ चार्लेह, मुझे यकीन नहीं है कि मैं इसके साथ सहमत हूं, क्योंकि FileSystemWatcher भी एक बदली हुई घटना प्रदान करता है, इसलिए आप जानना चाहेंगे कि कोई विशिष्ट फ़ाइल कब बदली जाती है। –

+1

ठीक है यह सच है, यह थोड़ी देर हो गया है क्योंकि मैंने इसका उपयोग किया है - मुझे पूरा यकीन है कि मैंने पढ़ा है कि कभी-कभी यह अविश्वसनीय हो सकता है जब बड़ी संख्या में परिवर्तन/फाइलें/हटाई गईं आदि – Charleh

उत्तर

79

आपका त्रुटि एक पूर्ण फ़ाइल नाम

watcher.Path = Path.GetDirectoryName(filePath1); 
watcher.Filter = Path.GetFileName(filePath1); 

काम करना चाहिए के साथ पथ संपत्ति स्थापित कर रही है।

+1

समझ में आता है लेकिन जब मैं फ़ाइल सामग्री बदलता हूं तो 'ऑन चेंजेड' ईवेंट नहीं कहा जा रहा है। क्या यह एक समस्या है कि मेरी फाइल सिस्टम सिस्टम एक कक्षा के अंदर है और 'फॉर्म 1' नहीं है? – Jimmy

+0

आपको उस कक्षा का एक उदाहरण चलाना होगा, अन्यथा कोई फ़ाइलवाटर नहीं होगा। –

+19

हल हो गया! मैं भूल गया था: 'watcher.EnableRaisingEvents = सच;' – Jimmy

5

हां, लेकिन आप फ़िल्टर फ़ाइल को फ़ाइल नाम पर सेट करके विशिष्ट फ़ाइलों के लिए देख सकते हैं।

उदा।

watcher.Filter = "dwm01_2011_06_13__09_03.LXD"; 
+0

धन्यवाद! क्या आप जानते हैं कि यह काम करेगा यदि मैं एकाधिक एकल पेज देखना चाहता हूं। यानी मेरी फाइल सिस्टम सिस्टम एक 'पेज' कक्षा के अंदर है। कक्षा के कई उदाहरण = एकाधिक एकल पृष्ठों को देखा जा रहा है? – Jimmy

+0

हां, मुझे नहीं लगता कि क्यों नहीं। –

+0

शायद, अगर स्थिर है। इसकी प्रतिक्रिया समाप्त होने के बाद एक पृष्ठ ऑब्जेक्ट अनलोड हो जाएगा। –

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

  • कोई संबंधित समस्या नहीं^_^