StreamWriter 关闭之后还可以重新打开吗?

时间:2022-03-30 02:32:25
StreamWriter close() 之后还可以重新打开吗?

StreamWriter wr = new StreamWriter(@"c:\asdf.txt");
wr.WriteLine("asdfasdfasdfasdfasdf");
wr.Close();
.     
.
.处理其它后(读这个文件,根据返回值,下面还要写这个文件)
.
.
.
wr.write(str);
我还要想写这个文件(c:\asdf.txt)怎么办啊?

10 个解决方案

#1


只能重新实例化...调用Close后在StreamWriter上进行的任何操作都可能引发异常...

#2


因为StreamWriter的Close方法实际上调用了Dispose方法,对象很可能已销毁...

#3


File.WriteAllText
File.AppendAllText 
using(FileStream nFile = new FileStream("", FileMode.CreateNew))
{
  StreamWriter writer = new StreamWriter(nFile);
  writer.WriteLine("");
  writer.Close();
}
close是释放资源,并且把自己关闭
重新写

#4


我可能有点钻牛角尖了,就想用一个StreamWriter wr

大家接着说,明天上午结贴!

#5


引用 4 楼 mysfeel 的回复:
我可能有点钻牛角尖了,就想用一个StreamWriter wr

大家接着说,明天上午结贴!

什么叫“用一个StreamWriter wr”?

这样?
StreamWriter wr = new StreamWriter(@"c:\asdf.txt");
wr.WriteLine("asdfasdfasdfasdfasdf");
wr.Close();
.   
.
wr = new StreamWriter(@"c:\asdf.txt");
.
.
wr.write(str);

这是不是“用一个StreamWriter wr”?钻牛角尖也得钻对了,乱钻就是犯傻了...

#6


重新初始化
new StreamWriter(@"c:\asdf.txt");

#7


已解决

#8


LZ你要先处理就处理完后再关闭吧,应该不会浪费多少资源吧,如果允许的情况下。。。

#9


close是释放资源,并且把自己关闭
重新写

#10


StreamWriter close() 之后还可以重新打开吗?
StreamWriter wr = new StreamWriter(@"c:\asdf.txt");
wr.WriteLine("asdfasdfasdfasdfasdf");
wr.Close();
wr.write(str);

重新建一个StreamWriter

#1


只能重新实例化...调用Close后在StreamWriter上进行的任何操作都可能引发异常...

#2


因为StreamWriter的Close方法实际上调用了Dispose方法,对象很可能已销毁...

#3


File.WriteAllText
File.AppendAllText 
using(FileStream nFile = new FileStream("", FileMode.CreateNew))
{
  StreamWriter writer = new StreamWriter(nFile);
  writer.WriteLine("");
  writer.Close();
}
close是释放资源,并且把自己关闭
重新写

#4


我可能有点钻牛角尖了,就想用一个StreamWriter wr

大家接着说,明天上午结贴!

#5


引用 4 楼 mysfeel 的回复:
我可能有点钻牛角尖了,就想用一个StreamWriter wr

大家接着说,明天上午结贴!

什么叫“用一个StreamWriter wr”?

这样?
StreamWriter wr = new StreamWriter(@"c:\asdf.txt");
wr.WriteLine("asdfasdfasdfasdfasdf");
wr.Close();
.   
.
wr = new StreamWriter(@"c:\asdf.txt");
.
.
wr.write(str);

这是不是“用一个StreamWriter wr”?钻牛角尖也得钻对了,乱钻就是犯傻了...

#6


重新初始化
new StreamWriter(@"c:\asdf.txt");

#7


已解决

#8


LZ你要先处理就处理完后再关闭吧,应该不会浪费多少资源吧,如果允许的情况下。。。

#9


close是释放资源,并且把自己关闭
重新写

#10


StreamWriter close() 之后还可以重新打开吗?
StreamWriter wr = new StreamWriter(@"c:\asdf.txt");
wr.WriteLine("asdfasdfasdfasdfasdf");
wr.Close();
wr.write(str);

重新建一个StreamWriter