【发布时间】:2011-03-17 05:40:24
【问题描述】:
我正在编写一个创建文件目录的应用程序。目前,目录信息存储在 XML 文件中,但我正在尝试将接口抽象为目录以允许其他未来的存储机制,例如单个 ZIP 文件、SQL 服务器或 HTTP 服务器。因此,抽象目录类不是返回文件路径,而是将文件作为字节流返回。因此允许文件的来源是磁盘,但也允许来自数据库或 Web 服务器的文件。见我之前的related question。
但是,根 Stream 类包括具有不同功能的流。有些流只能读取,有些流只能写入。仍然有一些流支持搜索,而其他流不支持。
是否有通过属性或方法限制流返回的能力?例如,我的 Catalog 类看起来像这样。
public abstract class Catalog
{
...
public abstract Stream File
{
get;
}
...
}
有没有办法确保File 总是返回一个支持搜索的可读流?
【问题讨论】: