c# - reader.ReadToEnd 和 Stream.Read 之间的区别
问题描述
在 DotNet 中使用 Amazon S3 客户端时,我们会得到一个具有 .ResponseStream 属性的 GetObjectResponse 类型的对象,我们可以使用 StreamReader.ReadToEnd(ResponseStream) 一次性读取内容。但是也有使用 MemoryStream 缓冲区,我们可以使用 Stream.Read() 方法使用有限大小的缓冲区以块的形式读取它。每种方法的缺点/优点是什么?当读取较大的文件时,分块方法会更有利吗?
解决方案
在StreamReader
. 将StremReader.ReadToEnd()
读取整个文件以结束。
接收从较大文件中分解的StreamRead()
小块数据。应用程序可以从流中读取这些小块数据,而不必直接从较大的文件中读取所有数据
因此,对于较大的文件,分块方法StreamRead()
会更有效。
推荐阅读
- python - 有没有办法从 Odoo 中的单元测试功能打印特定报告?
- compiler-errors - 我可以通过 ESLint 使用 prettier 和 tsconfig for JS 的引用来模拟静态类型语言吗
- filebeat - 使用 filebeat 处理器时出现“缺少或无效条件”错误
- blockchain - 如何在 rinkeby 和 ropsten 上获取测试令牌
- r - 如何在 data.table 中保留日期格式
- github - 为 Github 安全更新配置提交消息
- rabbitmq - 在以下情况下是否应该关闭 node-ampqlib rabbitMQ 通道?
- angular - Angular 表单控件在组件初始化中无效
- python - 无法将 JSON 数据插入 sqlite3 数据库
- java - 我如何计算达到某个列出的货币价值需要多少钞票