2009-08-24 21 views
15

मैं बस इसके आसपास नहीं जा सकता। मैं File.Create ... File.CrateText के साथ एक फ़ाइल बनाने में सक्षम हूं और इसी तरह, केवल पथ मौजूद है। अगर ऐसा नहीं होता है तो फाइल नहीं लिखी जाएगी और एक त्रुटि लौटाएगी। मैं पथ कैसे बना सकता हूं?एक फ़ाइल बनाना जो पथ मौजूद नहीं है?

+1

की संभावित डुप्लिकेट [सी # में एक पूर्ण पथ से एकाधिक निर्देशिका कैसे बनाएं?] (http://stackoverflow.com/questions/2134392/how-to-create-multiple के बजाय फ़ाइलइन्फो की निर्देशिका -डायरेक्टरी-से-ए-सिंगल-फुल-पथ-इन-सी) –

उत्तर

29

Directory.CreateDirectory("C:\MyApp\MySubDir\Data") 

http://www.devx.com/vb2themax/Tip/18678

+0

चूंकि यह पोस्ट यहां आपकी समस्या को अतिरिक्त एमएसडीएन जानकारी हल करता है: http://msdn.microsoft.com/en-us/library/as2f1fez.aspx – Bdiem

+1

और हम कैसे जांचते हैं कि पथ मौजूद है या नहीं? या हम सिर्फ इस समारोह को बुलाओ। –

+9

पढ़ें! एमएसडीएन कहते हैं: यदि फ़ोल्डर पहले से मौजूद है, तो CreateDirectory कुछ भी नहीं करता है। – Bdiem

4

प्रयास करें आप पहले निर्देशिका बनाने की आवश्यकता होगी। यह उन सभी उपनिर्देशिकाएं तैयार करेगा जो आपके द्वारा भेजे जाने वाले पथ में मौजूद नहीं हैं। यह कार्यक्षमता का एक शक्तिशाली टुकड़ा है।

Directory.CreateDirectory(filePath); 

यदि आप नहीं जानते कि निर्देशिका मौजूद है या नहीं, तो आप निर्देशिका.इक्सिस्ट का उपयोग कर सकते हैं। लेकिन इस मामले के लिए यह व्यर्थ नहीं होगा। एमएसडीएन का कहना है कि यदि निर्देशिका वर्तमान में मौजूद है तो CreateDirectory कुछ भी नहीं करता है। लेकिन अगर आप एक और कारण के लिए निर्देशिका के अस्तित्व की जाँच करना चाहता था आप का उपयोग कर सकते हैं:

if(Directory.Exists(folder) == false) 
    { 
    //do stuff 
    } 
10

यह देखते हुए कि आप पूरा पथ (फ़ोल्डर + फ़ाइल का नाम) है, निम्नलिखित कोड अपने आवश्यक निर्देशिका यह सुनिश्चित करेंगे पथ मौजूद है (यदि वह पहले से मौजूद नहीं है)

 FileInfo fileInfo = new FileInfo(fileFullPath); 

     if (!fileInfo.Exists) 
      Directory.CreateDirectory(fileInfo.Directory.FullName); 


     //create the file ... 
1
नीचे

भी पर

FileInfo fileInfo = new FileInfo(fileFullPath); 
    if (!fileInfo.Directory.Exists) fileInfo.Directory.Create() 

काम काम करना चाहिए स्थिर निर्देशिका वर्ग

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