c# - 为什么流式传输文件而不是立即发送?

标签 c# file ftp streaming

只是看看在 C# 中通过 ftp 传输文件的各种方法。 我注意到一些例子:

streamReader.ReadToEnd()

然后转换为字节,然后一次性发送文件。

而其他人做的是:

while (contentLength != 0)
    stream.write(buff, 0, contentLength);
    contentLength = fileStream.Read(buff, 0, buffLength);

对于较大的文件,一次发送 2048 个文件,而另一种方法适用于 10-50K 范围内的文件吗?

最佳答案

如果您只能一次性读取或写入文件,则必须为整个文件分配所需的空间。这可能很麻烦,尤其是当您事先不知道文件有多大时。这对于较慢的连接也是不利的,因为在整个过程完成之前您将无法使用文件的任何,这对于流媒体电影或音频等应用程序来说显然很糟糕。缓冲是处理此类情况的一种很好的通用策略。

关于c# - 为什么流式传输文件而不是立即发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1976110/

相关文章:

c# - MVC3路由问题

java - file.delete() 是否为不存在的文件返回 true 或 false?

java - 如何在 ftp4j 库中使用 SSL

c++ - 使用 libavformat 读取位于内存中的文件

file - 如何在我的 drupal 7 站点上托管文件

php - 为什么我的 PHP 脚本间歇性地无法通过 FTP 上传文件?

ftp - BizTalk 2010 发送 FTPS - 何时需要客户端证书哈希 "thumbprint"?

c# - C# 4 中 DLR 的优势是什么?

c# - 将类型字符串转换为类型对象

c# - 在 C# 中读取和写入文本文件