2016-05-09 77 views
0

我想從網站下載文本文件(更新日誌),並將其寫入C#中的組件。從網站下載文本文件忽略新行

我試過列表框,列表視圖,文本框,但我不認爲這很重要。新行被完全忽略,並且它顯示了所有數據的一行。

我嘗試以下方法:

var web = (HttpWebRequest)WebRequest.Create("http://somesite.com/changelog.txt"); 
web.Method = "GET"; 

using (var res = new StreamReader(web.GetResponse().GetResponseStream())) 
{ 
    textBox1.Text = res.ReadToEnd(); 
} 

而且

using (WebClient wc = new WebClient()) 
{ 
    string changelog = wc.DownloadString("http://somesite.com/changelog.txt"); 
    textBox1.Text = changelog; 
} 

兩者的方法返回1行中的所有數據。我需要新的行,所以我可以在textBox中使用它,並使其看起來正確。現在它在1行非常混亂,不可讀。

樣品changelog.txt內容:

1.0.1.2 
- Initial release 

1.0.0.3 
- Initial release 

1.0.0.2 
- Initial release 
- Initial release 
- Initial release 

1.0.0.1 
- Initial release 
- Initial release 
- Initial release 

1.0.0.0 
- Initial release 

通過在textBox1.Text = res.ReadToEnd();

末增加.Replace("\n", "\r\n");固定它textBox1.Text = res.ReadToEnd().Replace("\n", "\r\n");

+0

展'changelog.txt'內容的示例 –

+0

@AlexJolig完成 – user6274399

+0

這是Unix線路終止文件,有沒有機會? –

回答

0

您可以通過這樣做:

var web = (HttpWebRequest)WebRequest.Create("http://somesite.com/changelog.txt");   
web.Method = "GET";  
using (var res = new StreamReader(web.GetResponse().GetResponseStream())) 
{ 
    string line=""; 
    while ((line=res.ReadLine())!=null) 
    { 
     textBox1.AppendText(line+System.Environment.NewLine); 
    } 
}