如何使用 FtpWebRequest 接收字节?
How receive bytes using FtpWebRequest?
我正在编写我的第一个主要项目; FTP 个客户。我已经设法让它连接起来,并请求列出所有文件等(致力于正确格式化 dirs xD),但它让我想知道,当我请求一个文件时,我读取了对 Stream
的响应。现在我知道很多人使用 StreamReader
但这是针对文本而不是二进制文件?那么 FTP 服务器如何准确发送数据呢?我可以假设如果我直接从 Stream 读取所有内容都可以放入 byte[]
?
计算机中的所有数据都是字节。 StreamReader 可用于任何格式的文件,包括文本和二进制文件。在低级别,ftp 服务器使用套接字使用字节发送数据。在我看来,将所有数据放在byte[]中是安全的,你可以用各种方式解释它们。
确实,如果您使用 StreamReader
,它会尝试将 Stream
中的字节解释为文本。这意味着,它将尝试根据特定编码(默认为 UTF-8)来解释它。如果实际数据是二进制的,那不是个好主意。
Implements a TextReader that reads characters from a byte stream in a particular encoding.
如果您想逐字节访问流,那么用 StreamReader
读取 Stream
是没有意义的。也就是说,Stream
可以使用其 Read
method.
自行执行的操作
我正在编写我的第一个主要项目; FTP 个客户。我已经设法让它连接起来,并请求列出所有文件等(致力于正确格式化 dirs xD),但它让我想知道,当我请求一个文件时,我读取了对 Stream
的响应。现在我知道很多人使用 StreamReader
但这是针对文本而不是二进制文件?那么 FTP 服务器如何准确发送数据呢?我可以假设如果我直接从 Stream 读取所有内容都可以放入 byte[]
?
计算机中的所有数据都是字节。 StreamReader 可用于任何格式的文件,包括文本和二进制文件。在低级别,ftp 服务器使用套接字使用字节发送数据。在我看来,将所有数据放在byte[]中是安全的,你可以用各种方式解释它们。
确实,如果您使用 StreamReader
,它会尝试将 Stream
中的字节解释为文本。这意味着,它将尝试根据特定编码(默认为 UTF-8)来解释它。如果实际数据是二进制的,那不是个好主意。
Implements a TextReader that reads characters from a byte stream in a particular encoding.
如果您想逐字节访问流,那么用 StreamReader
读取 Stream
是没有意义的。也就是说,Stream
可以使用其 Read
method.