我正在使用vb.net。当我尝试执行此代码时出现“太多参数”错误:
If System.IO.File.Exists("C:\Users\", My.User.Name, "Desktop\virus.exe")
Then
RichTextBox1.AppendText(RichTextBox1.Text & "virus.exe" & Environment.NewLine)
End If
有什么方法可以缩短这个吗?
答案 0 :(得分:2)
File.Exists
只接受一个。 Imports
导入名称空间以缩短代码并使其更清晰以下是解决您所有问题的方法
Imports System.IO 'this will allow for shorter code
Dim myFile as String = "C:\Users\" & My.User.Name & "\Desktop\virus.exe"
If File.Exists(myFile) Then
' This will append only new text, not all of the existing text
RichTextBox1.AppendText("File: " & myFile & Environment.NewLine)
End If
答案 1 :(得分:0)
另一种简化方法是使用Linq
...也可以使用My.Computer.FileSystem.SpecialDirectories.Desktop
转到桌面,而不必担心My.User.Name
和串联字符串。 ..
这是一个简单的功能 - 如果您想在其他地方再次使用它...
Public Shared Function DoesFileExist(ByVal Directory As String, ByVal FileName As String) As Boolean
Return New System.IO.DirectoryInfo(Directory).GetFiles(FileName, IO.SearchOption.AllDirectories).Any
End Function
使用示例
If DoesFileExist(yourdirectory, yourfilename) Then
MsgBox("Exists!")
End If
或只是一行...
If New System.IO.DirectoryInfo(yourdirectory).GetFiles(yourfilename, IO.SearchOption.AllDirectories).Any Then RichTextBox1.AppendText blah blah...