2

我正在尝试移动和重命名从 TCPserver 收到的文件。

我的移动和重命名代码:

 *//My sourcePath*
 static string myServerfile = @"C:\Users\me\Documents\file_client\bin\Debug\test1.txt";
 *//My destinationPath*
 static string myFile = @"C:\test\inbox\JobStart.txt";

收到文件后,我这样做:

          fs.Close ();
          serverStream.Close ();
                File.Move(myServerfile, myFile);
                Console.WriteLine("Moved");
            } 
            catch (Exception ex) 
            {
                Console.WriteLine ("Cannot be DONE!");  
            }

但是当它到达时总是抛出异常“无法完成”File.Move(myServerfile, myfile1);

我试过这个: Console.WriteLine(ex.ToString());

结果: System.IO.IOException:已存在的文件,无法创建。

在此处输入图像描述

我究竟做错了什么?

4

2 回答 2

5

好像您已经在目标文件夹中有 JobStart.txt 文件。

您可以尝试检查它是否存在,然后尝试替换或删除该文件,然后移动。

if (File.Exists(myFile))
{
    File.Delete(myFile);
}
File.Move(myServerfile, myFile);
于 2013-10-22T08:42:01.677 回答
0

尝试:

File.Move(@"C:\SAM.txt", @"C:\New Folder\SAM_newName.txt");

如果成功,第一个文件将不再存在。如果不成功,操作将被终止——磁盘上不会有任何改变。我建议尝试使用它,抓住它。

于 2013-10-22T08:45:53.267 回答