今天写了一个 读写文件的类文件 FileInfo.cs
其中有一个 GetData(int index,int PageSize)
需要读取 文件 指定 位置 (index) 的指定大小(PageSize)FileStream 的开开关关 我觉得 很浪费资源。 所以我打算写一个 Close方法在关闭这个FileStream 现在我的问题是这样的:
用户初始化 FileInfo 以后 FileStream 也跟着初始化。有没有什么办法 可以让用户初始化 FileInfo 后一定要调用它的Close()方法 不然就给一个错误提示 。
其中有一个 GetData(int index,int PageSize)
需要读取 文件 指定 位置 (index) 的指定大小(PageSize)FileStream 的开开关关 我觉得 很浪费资源。 所以我打算写一个 Close方法在关闭这个FileStream 现在我的问题是这样的:
用户初始化 FileInfo 以后 FileStream 也跟着初始化。有没有什么办法 可以让用户初始化 FileInfo 后一定要调用它的Close()方法 不然就给一个错误提示 。
new FileInfo 然后就close不做任何操作?这种错误是初级新手的错误,你没必要考虑,这样的多虑叫过度设计。文件的操作,可以有长连接的,未必所有对文件的长连接就是错误的。
这个问题···或许你试试不关FileStream 会有什么后果就知道了····
{
private System.IO.FileStream _fileStream;
private _disposed = false; ... ~FileInfo()
{
if (!this.Disposed)
{
Dispose();
}
} public void Dispose()
{
_fileStream.Close();
_disposed = true;
}
}
GetData 方法 需要初始化 FileStream 读取文件内容比如说:用户可能会写一个循环 连续调用20次 GetData 方法这个时候 如果我每次都去重新初始化一个 FileStream 用完以后就 FileStream.Close()的话 就太重复了。
所以我想将 FileSteam 列为FileInfo的全局变量, 初始化 FileInfo 的时候就初始化了FileStream.当用户循环调用这个方法完毕以后 再调用Close() 关闭这个FileStream.就是很多时候 我们会忘记调用这个Close() 。 所以我想 有没有办法把这个Close()方法弄成 用户初始化 FileInfo 以后 必须要调用 Close()方法。