Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过FtpWebRequest获取文件时丢失行中断_C#_Ftp - Fatal编程技术网

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