file.move的奇怪IOexception

时间:2015-04-15 15:39:56

标签: vb.net file ioexception

我编写的程序应该分别将文件复制并备份到两个文件夹EditedArchived。我已经检查了我的目录,它们存在,并且从我能说的内容中输入正确,我将它们排除在外以保持这个简短。

    If TxtDest.Text <> "" Then
        File.Copy(oFD.FileName, <Copy Destination>)
    End If
    File.Move(oFD.FileName, <Archive Destination>)

    MsgBox("Your file has been saved.", MsgBoxStyle.OkOnly, "")

我成功复制了文件,但移动一直给我带来问题。当它执行时,我得到一个IOException:&#34;当该文件已经存在时,无法创建文件。&#34;有没有人知道为什么会发生这种情况或知道解决异常的方法?

谢谢!

2 个答案:

答案 0 :(得分:1)

事实证明,该文件的路径不完整。

我已经包含了目标文件夹,但遗漏了文件名。见下文:

当时: "H:\AppDev\Visual Studio 2010\Projects\RawFixerTest1\Test Data for RawFixer\5820\Survey\FieldWrk\TDS\Archived\"

时: "H:\AppDev\Visual Studio 2010\Projects\RawFixerTest1\Test Data for RawFixer\5820\Survey\FieldWrk\TDS\Archived\" & fInfo.Name

其中finfo是文件信息对象。

答案 1 :(得分:0)

如果您阅读File.Copy method上的文档。

Copy(String, String)将现有文件复制到新文件。覆盖同名文件允许。

Copy(String, String, Boolean)将现有文件复制到新文件。允许覆盖同名文件。

因此,如果该位置已存在某个文件,则需要使用第二个重载,为最后一个参数指定True以强制覆盖该文件