System.Net.WebClient.DownloadFile() 是分块读取下载的文件,还是将整个文件读取到内存中,最后将其转储到磁盘?
有人知道吗?从我的测试来看,该文件似乎是立即用 0 字节创建的,然后在下载完成后爆炸到完整大小。但不知何故,这令人难以置信,因为这意味着在下载 2GB 文件时会占用 2GB 内存……那毫无意义。
最佳答案
它将接收到的任何内容直接写入 FileStream。 DownloadBitsState.RetrieveBytes() method , WriteStream.Write() 调用,如果你想看看反射器或引用源。在文件关闭之前,资源管理器中的 size 属性不会更新。
关于.net - System.Net.WebClient.DownloadFile() 是否分块读取下载的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5690511/