只是看看在 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/