求助文件流关闭问题

acm1002 2006-02-16 10:11:43
try
{
FileStream fs = new FileStream("d:\\a.txt",FileMode.OpenOrCreate,FileAccess.ReadWrite);
//StreamReader sr = new StreamReader(fs);
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine("222222");
sw.Flush();
StreamReader sr = new StreamReader ( fs ) ;
//使用StreamReader类来读取文件
fs.Seek(0,SeekOrigin.Begin);
// 也可以下面这种,调用基类的定位函数
//m_streamReader.BaseStream.Seek ( 0 , SeekOrigin.Begin ) ;
string strLine = null;
while ((strLine = sr.ReadLine()) != null )
{
Console.WriteLine(strLine);
}
//关闭此StreamReader对象
sw.Close();
sr.Close();
}
catch(Exception err)
{
Console.WriteLine(err.Message);
}
这样使用是正确的,但是最后改成
sr.close();
sw.close();
就会出现提示文件已经关闭,难道调用了sr.close()后可以将文件流关闭?
...全文
88 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouyinhui 2006-02-17
  • 打赏
  • 举报
回复
明显哈
acm1002 2006-02-17
  • 打赏
  • 举报
回复
但这样就意味着sr.close()把fs.close()也执行了,难道这个也是它的子对象?
spiderman111 2006-02-16
  • 打赏
  • 举报
回复
SW其实属于SR的子对像,.NET安全机制会自动检查的.关一个就行了

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧