2016-05-09 111 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); 
    } 
}