vb.net - 复制和删除文件在源处留下零长度文件
问题描述
我正在尝试将文件从一个目录复制到另一个目录。复制后,我想删除原始文件。预期的结果是源文件不再存在,而目标文件确实存在。实际结果是目标文件存在,而源文件为空。在执行过程中观察目录,源文件最初会消失,然后在退出程序时它会以零长度重新出现。
这是示例代码:
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,零长度文件不会出现。所以好像跟复制和删除的结合有关系。
我的期望有问题吗?我意识到我可以删除目标(如果存在)然后移动文件,但我想了解为什么我的示例无法按预期工作。感谢您的任何见解。
解决方案
尝试使用FileSystem.DeleteFile
此处的方法:
https ://docs.microsoft.com/en-us/dotnet/api/microsoft.visualbasic.fileio.filesystem.deletefile?view=netframework-4.7.2
这应该完全删除该文件。
推荐阅读
- android - Android 深度链接与导航图错误
- reactjs - 我正在尝试制作迪士尼加克隆,但我遇到了一个错误,上面写着
- postgresql - 在春季批处理中获取 HQL 查询中的 UTC 时间
- flutter - 我该如何解决“应该只有一项具有 [DropdownButton] 的值:null。” 颤振中的错误?
- objective-c - 添加跟踪区域时向实例发送无法识别的选择器
- iis - MVC5 控制器 (POST) 被调用两次(每周一次)
- reactjs - npm 在尝试运行它时在 Visual Studio 代码中抛出一些错误
- authentication - 使用 WebView2 cookie 下载 PDF
- java - 使用 log4j 的 Json 日志
- javascript - 更改 AngularJS 属性会更改 HTML 属性的值