我尝试用一些额外的方法和属性在类 Fichier
中“包装”一个 StreamReader
。
我想要两件事:
StreamReader
在Fichier
类中自动打开;StreamReader
在我们使用覆盖方法ReadLine
时打开,而不是之前(我们需要在使用StreamReader
读取文件之前修改文件) >).
我的一段代码如下所示:
public string ReadLine()
{
if (Reader == null || ???)
{
Reader = new StreamReader(Path);
}
return Reader.ReadLine();
}
在 ???
处,我想检查 StreamReader 是否已关闭。事实上,如果我们这样做:
StreamReader sr = new StreamReader(path);
sr.Close();
sr
不为空,但如何检查它是否已关闭,以及如何重新打开它?
如果你想知道为什么我需要打开和关闭StreamReader
,那是因为Fichier
对象需要随时存在,但是它代表的文件需要修改在外部程序中多次。
最佳答案
最简单的方法是Dispose
(你真的应该这样做,它也会关闭流)并在关闭时将其设置为null
。
您可以选择检查 EndOfStream
,但这需要您读取到流的末尾。
关于c# - 如何检查 StreamReader 是否仍然打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29750841/