【发布时间】:2013-09-19 09:06:55
【问题描述】:
有一个未知大小的流(我的班级)。当 Stream 结束时,Read() 返回 0。没关系。 但是在这种情况下出现了 CopyToEnd() 的概念问题。 CopyToEnd() 从某个位置读取一些字节数并将它们复制到 Stream 的末尾。 但是,如果它不知道流大小,它怎么能做到这一点呢? 创建一个虚拟抽象方法 SeekToEnd() 并在 Stream 继承的类中定义它可能是一个好主意吗?或者在知道大小流的子类中移动方法 CopyToEnd() 更合理?欢迎任何想法。
【问题讨论】:
-
为您的读取缓冲区考虑一个动态增长算法。或者决定一次处理多少数据,并在分区中读取。不管怎样,这个问题有点……模糊。
-
@WhozCraig 谢谢你的评论。我将重新考虑 CopyToEnd() 的行为