【发布时间】:2013-10-22 16:53:29
【问题描述】:
我正在尝试移动和重命名从我的 TCP 服务器接收到的文件。
我的移动和重命名代码:
*//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: 文件已存在,无法创建。
我做错了什么?
【问题讨论】:
-
“ex”中的实际异常是什么?这将告诉您移动失败的原因。这可能是一个权限问题,因为您要将文件从用户区域移动到访问可能受到限制的地方。
-
在
catch中添加Console.WriteLine (ex.ToString());并告诉我们会产生什么。 -
@Baldrik 是对的,向我们展示真正的错误消息。每台机器上都有这些本地路径吗?如果您尝试从客户端访问服务器的 c 盘,则需要网络路径,而不是本地路径。
-
从服务器获取文件不是问题。该文件在我的本地硬盘上@"C:\" 我正在尝试将文件从一个文件夹移动到另一个文件夹。
标签: c# move file-rename