यदि C # / .NET में कोई फ़ाइल मौजूद है तो कैसे पता करें?


186

मैं उस फ़ाइल के अस्तित्व के लिए एक फ़ाइल के लिए एक पथ युक्त स्ट्रिंग का परीक्षण करना चाहूंगा ( C -eमें पर्ल या os.path.exists()पायथन में परीक्षण जैसा कुछ )।

जवाबों:


303

उपयोग:

File.Exists(path)

MSDN: http://msdn.microsoft.com/en-us/library/system.io.file.exists.aspx

संपादित करें: System.IO में


14
File.Exists (पथ) फ़ाइल के मौजूद होने पर भी गलत तरीके से वापस आ जाता है लेकिन BUT कॉलर में इसे पढ़ने की अनुमति नहीं है। क्या इस तरह की स्थितियों को संभालने का एक अलग तरीका है और यह जांचना कि क्या कोई फ़ाइल मौजूद नहीं है, भले ही कॉलर इसे पढ़ न सके?
ADTC

3
@ADTC: सुरक्षा के दृष्टिकोण से, यह सामान्य लगता है कि यह उस तरह से काम करता है, जो डेवलपर के दृष्टिकोण से, यह चीजों को और अधिक जटिल बना सकता है। यदि आप एक फ़ाइल बनाने की कोशिश करते हैं तो क्या आपको उस मामले में अपवाद मिलता है?
user276648

2
@ADTC ने सिर्फ ठोकर खाई और मुझे लगा कि मैं ड्रॉप-बॉक्स निर्देशिकाओं का उल्लेख कर सकता हूं। वे स्थापित किए जा सकते हैं जहाँ आपने अनुमति दी है या लिखी है, लेकिन कोई पढ़ने की अनुमति नहीं है। ऐसा नहीं है कि यह सीधे इस सवाल के लिए प्रासंगिक है, बस वे उतने अजीब नहीं हैं जितना कि कोई सोच सकता है।
उक्को

1
साइड नोट: File.Exists Google Drive File Stream G पर गलत रिटर्न देता है: ड्राइव, यदि पथ का आवरण वास्तव में G पर नहीं है तो क्या मेल खाता है। आमतौर पर किसी भी फिजिकल ड्राइव पर केस करने से कोई फर्क नहीं पड़ता है, इसलिए मुझे आश्चर्य है कि क्या एक्ज़िस्ट विधि के साथ कुछ गड़बड़ है?
CTZStef

1
@CTZStef कि फ्रेमवर्क विधि के बजाय Google की वर्चुअल ड्राइव का quirk है।
यूजीन मेवस्की 'कॉलबैक



4

इनपुट के रूप में पूरा रास्ता दें। रिश्तेदार रास्तों से बचें।

 return File.Exists(FinalPath);
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.