2010-05-06 8 views
5

Bir yapılandırma dosyasını değiştirmek için gereksinim duyduğum bir uygulama var.C# File.ReadAllLine satır beslemelerini kırmıyor

Sorun şu ki, satırı sıraya göre okuyamıyorum. Tüm dosyayı tek bir dize olarak devam ettiriyorum.

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. 

Neyi yanlış yaptığım hakkında bir fikriniz var mı?

sayesinde

david

cevap

5

Ben tek bir dize halinde dosyanın tamamını okurken \r\n

olmayabilir kullanılan satır sonu karakteri tahmin ediyorum, yourString.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); çağırarak denemek ve sizin için çalışıp çalışmadığına bakın.

Ayrıca ReadAllLines() zaten tek bir dize okumaya beri, sadece ReadAllText() kullanabilirsiniz.

+0

Cevabınız için teşekkür ederiz. Yorumlarınıza dayalı olarak, burada bir araya getirdiğim bir test kodu bölümüdür ... // Dosya Çizgileri Al string [] fileSourceLines = File.ReadAllLines (ConfigTemplate, Encoding.Default); if (fileSourceLines.Length == 1) dize yourString = fileSourceLines [0]; string [] newSourceLines = yourString.Split (yeni karakter [] {'\ r', '\ n'}, StringSplitOptions.RemoveEmptyEntries); // Bu dizi hala sadece 1 dizgi içeriyor. } newSourceLines dizisi hala yalnızca 1 dizgi içeriyor. başka öneriler :) sayesinde Tamam david –

+0

, sadece ..... bu sorun olduğunu tespit yardımcı herkesin için teşekkür ederiz! –

0

Dosyanız muhtemelen satırbaşıyla olarak (\r olmadan) \n karakterleri kullanır.

İlgili konular