首页 > 解决方案 > 复制和删除文件在源处留下零长度文件

问题描述

我正在尝试将文件从一个目录复制到另一个目录。复制后,我想删除原始文件。预期的结果是源文件不再存在,而目标文件确实存在。实际结果是目标文件存在,而源文件为空。在执行过程中观察目录,源文件最初会消失,然后在退出程序时它会以零长度重新出现。

这是示例代码:

Imports System.IO
Module Module1
    Sub Main()
        Dim sourceFileName As String = "c:\TestDir\source\TestFile.txt"
        Dim destFileName As String = "c:\TestDir\destination\TestFile.txt"
        System.IO.File.Copy(sourceFileName, destFileName)
        System.IO.File.Delete(sourceFileName)
    End Sub
End Module

如果我要删除 System.IO.Copy,零长度文件不会出现。所以好像跟复制和删除的结合有关系。

我的期望有问题吗?我意识到我可以删除目标(如果存在)然后移动文件,但我想了解为什么我的示例无法按预期工作。感谢您的任何见解。

标签: vb.netsystem.io.file

解决方案


尝试使用FileSystem.DeleteFile此处的方法: https ://docs.microsoft.com/en-us/dotnet/api/microsoft.visualbasic.fileio.filesystem.deletefile?view=netframework-4.7.2

这应该完全删除该文件。


推荐阅读