2010-05-06 7 views
5

पर ब्रेक नहीं कर रही है मेरे पास एक ऐसा एप्लिकेशन है जिसे मैं कॉन्फ़िगर कर रहा हूं जिसे कॉन्फ़िगरेशन फ़ाइल को संशोधित करने की आवश्यकता है।सी # फ़ाइल। रीडअललाइन लाइन फीड

मेरी समस्या यह है कि मैं लाइन से लाइन में फ़ाइल को पढ़ने में सक्षम नहीं हूं। मैं पूरी फाइल को एक स्ट्रिंग के रूप में गीला रखता हूं।

string ConfigTemplate = AEBuildsSPFolderName + "\\Template_BuildReleaseScript.Config"; 

string[] fileSourceLines = File.ReadAllLines(ConfigTemplate, Encoding.Default); 
//Returns the entire file contents into the first array element. 

using (StreamReader reader = new StreamReader(ConfigTemplate)) 
      { 
       string line; 
       while ((line = reader.ReadLine()) != null) 
//Returns the entire file contents into the first line read. 

क्या मैं गलत क्या कर रहा हूं इसका कोई विचार?

धन्यवाद,

डेविड

उत्तर

5

मैं लाइन ब्रेक का इस्तेमाल किया \r\n

नहीं हो सकता है आप एक ही स्ट्रिंग में अपने पूरे फ़ाइल को पढ़ने जब चरित्र अनुमान लगा रहा हूँ, yourString.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); बुला कोशिश करते हैं और देखते हैं कि यदि आप के लिए काम करता है।

चूंकि ReadAllLines() तब भी एक स्ट्रिंग में पढ़ रहा था, आप बस ReadAllText() का उपयोग कर सकते थे।

+0

आपकी प्रतिक्रिया के लिए धन्यवाद। आपकी टिप्पणियों के आधार पर, यहां एक टेस्ट कोड सेगमेंट है जो मैंने एक साथ रखा है ... // फ़ाइल लाइन्स स्ट्रिंग प्राप्त करें [] फ़ाइल स्रोत स्रोत = फ़ाइल। रीडअललाइन (ConfigTemplate, Encoding.Default); यदि (फ़ाइल स्रोत स्रोत। लम्बाई == 1) { स्ट्रिंग yourString = fileSourceLines [0]; स्ट्रिंग [] newSourceLines = yourString.Split (नया char [] {'\ r', '\ n'}, StringSplitOptions.RemoveEmptyEntries); // यह सरणी अभी भी केवल 1 स्ट्रिंग है। } newSourceLines सरणी में अभी भी केवल 1 स्ट्रिंग है। किसी भी अन्य सुझाव :) धन्यवाद, डेविड –

+0

ठीक है, मैं सिर्फ पाया कि वह इस समस्या थी ..... सभी की मदद के लिए धन्यवाद! –

0

आपकी फ़ाइल शायद नई-पंक्तियों के रूप में (\r के बिना) \n वर्णों का उपयोग करता।