2009-08-29 13 views
14

अरे यह उन गूंगा प्रश्नों में से एक होने जा रहा है। मैं अपने स्थानीय सिस्टम पर एक फाइल लेने की कोशिश कर रहा हूं और मुझे FileNotFoundException फेंक दिया जाता है।फ़ाइल अपवाद नहीं मिला .. लेकिन यह

किसी सेट मुझे सीधे :)

if(File.Exists(@"C:\logs\hw-healthways-prod_2009-08-26.tar")) 
{ 
    Console.WriteLine("Yay"); 
} 
else 
{ 
    throw new FileNotFoundException(); 
} 

की कोशिश की क्रियान्वित आवेदन के रूप में एक ही स्थान में फ़ाइल ले कृपया और निम्नलिखित किया:

if(File.Exists("hw-healthways-prod_2009-08-26.tar")) 

यही बात।

तो मैं एक यादृच्छिक txt फ़ाइल बना दिया है और यह भी वहाँ खड़ी .. "me.txt"

और यह काम करता है ?! तो क्या आप फ़ाइल नाम समस्या है?

+0

पर छिपी हुई हैं यदि आप स्टार्ट-> रन बॉक्स में "सी: \ लॉग \ hw-healthways-prod_2009-08-26.tar" टाइप करते हैं, तो क्या होता है? –

+0

यदि आप File.OpenRead (...) के साथ फ़ाइल को स्पष्ट रूप से खोलने का प्रयास करते हैं तो आपको क्या त्रुटि मिलती है? शायद यह भी मामला नहीं है, लेकिन मुझे लगता है कि अगर यह एक निर्देशिका है और फ़ाइल नहीं है तो फाइल.इक्सिस्ट झूठी वापसी करेंगे –

+0

हाहा इसे नहीं ढूंढता .. लेकिन मैं फ़ाइल की संपत्ति से नाम और स्थान की प्रतिलिपि बना रहा हूं। डुनो क्या हो रहा है। – Nick

उत्तर

11

Directory.GetFiles(@"C:\logs") करने का प्रयास करें। यह संभव है कि प्रश्न में फ़ाइल में अजीब वर्ण हैं जो विंडोज एक्सप्लोरर द्वारा एक तरह से व्याख्या कर रहे हैं (संभवतः आप कहां से "फाइल की संपत्ति" पढ़ रहे हैं?) लेकिन .NET Framework द्वारा एक अलग तरीका है। यह तब हो सकता है जब आपके पास फ़ाइल नाम में यूटीएफ -8 वर्ण हों (शायद एक एन डैश?)।

+0

फ़ाइल का नाम बदलना टिकट लगता है .. मैं उसमें देख रहा हूं। धन्यवाद – Nick

+3

+1 चूंकि इस समस्या ने मुझे कुछ घंटों तक फेंक दिया। जैसा कि मैंने फ़ाइल एक्सप्लोरर को फाइल नाम एक्सटेंशन को छिपाने के विकल्प के साथ विंडोज एक्सप्लोरर में फाइलें बनाई थीं, मेरी फाइल को वास्तव में "file1.html.txt" कहा जाता था और "file1.html" जैसा कि मैंने इरादा नहीं किया था। – Remotec

0

आप अपनी फ़ाइल अनुमतियां जांचना चाहेंगे। आपके कंप्यूटर को फ़ाइल की अनुमति नहीं हो सकती है।

+0

हम्म .. मुझे ऐसा नहीं लगता है। मैं इसे मैन्युअल रूप से खोल सकता हूं। – Nick

-6

सी: \ logs \ hw-healthways-prod_2009-08-26.tar सी होना चाहिए: \\ लॉग \\ hw-healthways-prod_2009-08-26.tar। \ मतलब है कि अगला चरित्र एक बचने वाला चरित्र है।

+7

जब स्ट्रिंग @ वर्ण के साथ उपसर्ग नहीं किया जाता है। –

7

फ़ाइल का नाम हो सकता है कि "hw-Healthways-prod_2009-08-26 .tar.tar" के बदले "hw-Healthways-prod_2009-08-26 .tar", मैं इस किया था समस्या क्योंकि डिफ़ॉल्ट रूप से एक्सटेंशन फ़ाइलें विंडोज

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