【问题标题】:difference between reader.ReadToEnd and Stream.Readreader.ReadToEnd 和 Stream.Read 之间的区别
【发布时间】:2021-12-25 05:37:22
【问题描述】:

在 DotNet 中使用 Amazon S3 客户端时,我们会得到一个 GetObjectResponse 类型的对象,该对象具有 .ResponseStream 属性,我们可以使用 StreamReader.ReadToEnd(ResponseStream) 一次性读取内容。但是也有使用 MemoryStream 缓冲区,我们可以使用 Stream.Read() 方法使用有限大小的缓冲区分块读取它。每种方法的缺点/优点是什么?分块方式在读取大文件时会不会更有优势?

【问题讨论】:

  • 您能否添加一些演示代码来说明实际问题是什么?这听起来更像是一个一般性的 C# 问题,而不是与 AWS 相关的问题,但只是想仔细检查一下。

标签: c# .net amazon-s3 aws-sdk-net


【解决方案1】:

StreamReader 中将提供简单的文本文件访问。 StremReader.ReadToEnd() 将读取整个文件以结束。

StreamRead() 接收从较大文件中分解出来的小块数据。 应用程序可以从流中读取这些小块数据,而不必直接从较大的文件中读取所有数据

所以对于较大的文件,分块方法StreamRead() 会更有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-25
    • 2020-05-10
    • 2014-09-20
    • 2010-10-28
    • 2015-10-04
    • 2012-08-12
    • 2011-02-18
    相关资源
    最近更新 更多