C# 通过FtpWebRequest获取文件时丢失行中断
服务器上有一个带换行符的文本文件:C# 通过FtpWebRequest获取文件时丢失行中断,c#,ftp,C#,Ftp,服务器上有一个带换行符的文本文件: 1 2 3 我尝试通过FTP获取他,并在表格上显示: FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://x.x.x.x/test.txt"); request.UseBinary = false; request.Method = WebRequestMethods.Ftp.DownloadFile; request.KeepAlive = fals
1
2
3
我尝试通过FTP获取他,并在表格上显示:
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://x.x.x.x/test.txt");
request.UseBinary = false;
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.KeepAlive = false;
request.Credentials = new NetworkCredential("login", "password");
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream);
richTextBox1.Text = reader.ReadToEnd();
response.Close();
但尽管“useBarbinary=false”,我还是得到了:
如果我使用ascii模式通过cmd获取此文件,则该文件看起来很好(包含“\n”)。有什么问题?在以文本/ASCII模式下载带有Windows换行符(CR+LF)的文件时,服务器会将LF替换为CR+LF,从而导致错误的CR+CR+LF。@Mohithrivastava但这不能解释换行符的丢失,恰恰相反。@Telepnev我无法重现您的问题。使用二进制模式下载时,文件逐字节的确切内容是什么<代码>BitConverter.ToString(新建WebClient()。下载数据(“ftp://login:password@x、 x.x.x/test.txt”)@MartinPrikryl“31-32-33”根据您的方法,没有“0d-0a”。二进制和ascii的结果是一样的。如果你在二进制模式下使用(GUI)FTP客户端下载文件,下载后文件有多大?
123