我正在使用
FileInfo
获取文件长度的类,如下所示:
FileInfo infoFile = new FileInfo(@"C:\Text12341234");
long configFileLength = infoFile.Length;
我想处理由
创建的对象FileInfo
类。 我收到一个错误,“文件已被其他进程使用。” 我怎样才能做到这一点?
答案 0 :(得分:5)
FileInfo
未实现IDisposable
,因此您无法处置它。
您在FileInfo
上调用的实施IDisposable
的其他方法的任何结果都必须在实际对象上处理,而不是在FileInfo
上处理。
您应该使用using
:
using (FileStream s = File.Create(Application.StartupPath + @"\Client.config.xml"))
{
// your code using s
}
答案 1 :(得分:1)
FileInfo
没有打开流。如果您使用OpenRead
等方法,则需要通过调用Stream
方法关闭您打开的Close
。或者只是用using
包装你的陈述。
答案 2 :(得分:0)
您的代码运行没有问题,无需处理;我认为这段代码可以帮到你:
var f = new FileInfo(@"d:\ntt.txt");
var fs = f.Create();
// you can use dispose here, for it returns filestream
fs.Dispose();