用vb.net打开一个文本文件,如果它存在删除该文件
问题描述:
我正在使用vb.net编写windows应用程序的代码。我想在c:\
下打开一个文本文件。如果文件已经存在,我想删除该文件。用vb.net打开一个文本文件,如果它存在删除该文件
my code
-------
Dim file As String = "C:\test.txt"
If System.IO.File.Exists(file) Then
file.Remove(file)
Else
System.Diagnostics.Process.Start(file)
End If
当我尝试打开该文件时出现以下错误。
error
-----
The system cannot find the file specified
答
除了康拉德的约试图执行您刚才检查不存在的文件,点:
1)这不是一个好主意来命名变量file
,因为它可能会混淆系统。 IO.File。
2)它是File.Delete,而不是file.Remove - 你调用String.Remove方法,因为file
是一个字符串。您应该使用选项严格在,因为它会为您捕获该错误。
3)在Windows Vista和更高版本中,您可能没有对C:的写入/删除访问权限。
假设你已经到目录C写访问:\ TEMP然后这个工程:
Dim fyle As String = "C:\temp\test.txt"
If System.IO.File.Exists(fyle) Then
IO.File.Delete(fyle)
End If
IO.File.Create(fyle)
System.Diagnostics.Process.Start(fyle)
你有什么别的块在做什么?试图运行已删除/不存在的文件? – roymustang86 2012-07-16 18:35:30
代码没有意义,因为如果它不存在,则尝试执行该文件。此外,请注意,你**不能**可靠地测试文件的存在,这是根本不可能的,因为文件系统不给你独占访问文件(在Unix上这显然是可能的) – 2012-07-16 18:46:56