小弟用一文件流创建了个 BinaryReader,关闭后会释放基础的文件流,这文件流还想继续用,怎么办?

解决方案 »

  1.   

    FileStream fs = File.Open("test.txt", FileMode.Open))
    BinaryReader br = new BinaryReader(fs, Encoding.UTF8);
    ....
    br = new BinaryReader(fs, Encoding.UTF8);
      

  2.   

    重新new的话就是一个新的对象了,原来的还在,只不过不被引用了.
    GC自动回收?一旦释放了那文件流不也被关闭了?
    这样很危险,什么时候被关闭都不知道.
      

  3.   

    不跟br纠结了,
    反正也只是想让这个程序的另一个实例识别当前文件是否被使用中.
    像VM那样放置一个lck文件或学Linux风格放pid文件就行了.
      

  4.   

    去MSDN看清楚BinaryReader的Close方法再来,释放BinaryReader占用的资源并关闭基础流