.NET 程序员多多少少和文件操作打过交道,其中不乏使用File类。大家都知道File成员都是静态字段,如果只是少量对文件操作,File 比FileInfo更有效率。但是在这么高效,使用简单的情况下往往会有意外的Exception。

一个简单例子。当通过File.Create创建一个文件之后,在短时间内调用它,或者是在多线程中调用,就会出现Exception。其意思大致是这个文件在另一个线程中占用现在无权操作。其原因出在何处?!根源在于File.Create方法上。对于File类的解释MSDN第一句话就是“提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建 FileStream 对象”部分方法会返回对象也是Stream。主要是Create ,Open系列和AppendText方法会产生流。以后再使用这样方法时多加小心就可以避免不必要的麻烦。

以上纯属个人意见。说的不好的地方,希望指明,共同学习。