把文件拷贝并重命名后,再删除源文件,会提示另一个进程正在是用,无法删除,这是怎么回事。
要求:重命名文件必须放在源文件所在文件夹下代码如下:
         file.CopyTo(file.DirectoryName + @"\" + result.ToString() + ".png", true);
        file.Delete();

解决方案 »

  1.   


                    System.IO.File.Copy("E:\\test.txt", "D:\\test2.txt", true);
                    System.IO.File.Delete("E:\\test.txt");
      

  2.   

    楼主是不是其他地方在使用这个文件,而不是这里的代码导致的.
    我的如下代码完全没有问题.
        
        class Program
        {
            static void Main(string[] args)
            {
                FileInfo file = new FileInfo(@"C:\tmp.txt");
                file.CopyTo(file.DirectoryName + @"\tmp2.txt", true);            
                file.Delete();
            }
        }