【问题标题】:What's the meaning of "seekable" stream?“可搜索”流是什么意思?
【发布时间】:2014-08-07 08:52:37
【问题描述】:

我知道有可搜索的流(如 MemoryStream 和 FileStream)和不可搜索的流(如网络流)。
MSDN 谈到了搜索方法

支持搜索超出流长度的任何位置。

但我不明白!我试图在网上找到答案,但失败了。

【问题讨论】:

  • 您可以将流中的位置设置为任何位置。例如:从 begging 中读取文件的前 4 个字节。将 seek 设置为 2。您可以再次读取最后两个字节。当 seek 大于 stream 的长度时,它会自动扩展结束(fe. 文件大小会变大)。
  • 请注意,您的标题与最终问题不匹配。你在问什么?
  • 警告! FileStream 不一定是可搜索的。 The docs read:“流不支持查找,例如 FileStream 是从管道或控制台输出构造的。”

标签: c# stream


【解决方案1】:

Seekable 表示您可以手动设置 cursor 在流中的位置,即您可以在任何位置读/写一个字节。您不必读取一个字节,因此光标位置会递增。

追求当前流的长度基本上会扩大流的长度(比如你的文件会增长为一个FileStream)。

【讨论】:

    猜你喜欢
    • 2014-07-20
    • 1970-01-01
    • 2014-06-11
    • 2017-12-04
    • 2017-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多