Арт*_*нов 4 .net c# file stream
FileStream f=new FileStream("c:\\file.xml",FileMode.Create);
StreamWriter sf=new StreamWriter(f);
sf.WriteLine(stroka);
sf.Close();
sf.Dispose();
f.Close();
f.Dispose();
FileStream f1=new FileStream("c:\\file.xml",FileMode.Open);
StreamReader sr=new StreamReader("c:\\file.xml");
xmlreader=new XmlTextReader(sr);
sr.Close();
sr.Dispose();
f1.Close();
f1.Dispose();
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
该进程无法访问文件'c:\ file.xml',因为它正由另一个进程使用
我已经全部关闭并且全部处理掉了.有什么问题?
更换:
StreamReader sr=new StreamReader("c:\\file.xml");
Run Code Online (Sandbox Code Playgroud)
附:
StreamReader sr=new StreamReader(f1);
Run Code Online (Sandbox Code Playgroud)
你StreamReader没有创造新的东西FileStream
其他数据:
StreamReader调用时Dispose,该对象调用提供的Stream对象StreamReader.Dispose.
Dispose方法调用该Close方法.阅读本文以获取更多信息.
含义:你可以删除Dispose和Close你写的FileStream
FileStream f = new FileStream("c:\\file.xml", FileMode.Create);
StreamWriter sf = new StreamWriter(f);
sf.WriteLine(stroka);
sf.Dispose();
FileStream f1 = new FileStream("c:\\file.xml", FileMode.Open);
StreamReader sr = new StreamReader(f1);
xmlreader = new XmlTextReader(sr);
sr.Dispose();
Run Code Online (Sandbox Code Playgroud)
但是,你真的应该使用using statement的非托管资源,请阅读此.