File.Copy目标文件是目录,而不是文件。

时间:2013-05-02 07:40:45

标签: c#

我可能没有正确执行此操作,浏览MSDN库对我没有多大帮助。我正在尝试将我的数据库从我的项目文件夹复制到另一个位置。我最初尝试过桌面,并声明该目录不可用。这就是我现在所拥有的。

private string currentDb = @"J:\Project\Project\HotelDB.accdb",
               backUpPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
               newFileName = @"\";

我用这种方法称呼它。我目前得到的错误是Environment.SpecialFolder.MyDocuments类指示“我的文档”是文件夹,而不是文件。这告诉我,我做错了。任何指导表示赞赏。

public void backupDatabase()
{
    File.Copy(currentDb, backUpPath, true);
}

3 个答案:

答案 0 :(得分:11)

您应该将文件名添加到目标路径。 这在文档中明确指出:http://msdn.microsoft.com/en-us/library/c6cfw35a.aspx

  

目标文件的名称。这不能是目录或   现有文件。

例如:

"J:\Project\Project\HotelDB.accdb"

应该去:

"c:\HotelDB.accdb"

(而不是"C:\"

答案 1 :(得分:3)

作为MSDN状态

  

destFileName   键入:System.String   目标文件的名称。这不能是目录。

然后将文件名添加到目标路径。

File.Copy()

答案 2 :(得分:2)

试试这个

 private string currentDb = @"J:\Project\Project\HotelDB.accdb",
 backUpPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)+"\HotelDB.accdb"