先我想把1.jpg  保存为2.jpg  ,按我这样的写法为什么 不可以删除  1.jpg 文件呀??如何解决谢谢                     img = Image.FromFile("1.jpg"); 
                    img.Save("2.jpg"); 
                    img.Dispose(); 
                    Delete("1.jpg"); 
                     
 
 

解决方案 »

  1.   

    你这样做应该是可以的
    img已经Dispose了,错误提示是什么?
      

  2.   

    using System;
    using System.IO;class Test 
    {
        public static void Main() 
        {
            string path = @"c:\temp\MyTest.txt";
            string path2 = @"c:\temp2\MyTest.txt";
            try 
            {
                if (!File.Exists(path)) 
                {
                    // This statement ensures that the file is created,
                    // but the handle is not kept.
                    using (FileStream fs = File.Create(path)) {}
                }            // Ensure that the target does not exist.
                if (File.Exists(path2)) 
                File.Delete(path2);            // Move the file.
                File.Move(path, path2);
                Console.WriteLine("{0} was moved to {1}.", path, path2);            // See if the original exists now.
                if (File.Exists(path)) 
                {
                    Console.WriteLine("The original file still exists, which is unexpected.");
                } 
                else 
                {
                    Console.WriteLine("The original file no longer exists, which is expected.");
                }           } 
            catch (Exception e) 
            {
                Console.WriteLine("The process failed: {0}", e.ToString());
            }
        }

      

  3.   

    提示 ”1.jpg“ 正在使用 不可以删除
      

  4.   

    File.Move  我这里不采用。 我还是要考虑如何释放img 对象
      

  5.   

     img = Image.FromFile("1.jpg"); 
    img.Save("2.jpg"); 
    img.Dispose(); 
    GC.Collect ;
    Delete("1.jpg"); 
                       可能有用,但不影响你尝试一下的意义. 
      

  6.   

    只能用 gc 吗?? 不知道GC使用后是不是对系统有影响。不知道还有 没有其他的解决办法???