我想将文件从选定的目录路径复制到另一个具有相同文件名的目录。我试试这段代码,
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
Try
Dim openfile As New OpenFileDialog
openfile.Filter = "JPG|*.jpeg;*.jpg|PNG|*.png"
If (openfile.ShowDialog = Windows.Forms.DialogResult.OK) Then
TextBox3.Text = openfile.FileName
End If
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
然后,
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
Try
Dim source As String = TextBox3.Text
FileCopy(dest, source)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
错误消息:
" System.UnauthorizedAccessException:对D:\资源的访问被拒绝"
答案 0 :(得分:1)
以下情况发生UnauthorizedAccessException
:
答案 1 :(得分:1)
我猜你的变量dest
是指目标目录。您需要将其与目标 filename 的文件名组合,而不是目录。像这样......
Imports System.IO
'......
Dim destDir As String = "D:\resource"
Dim source As String = TextBox3.Text
Dim destFile As String = Path.Combine(destDir, Path.GetFileName(source))
FileCopy(source, destFile)
最好使用变量存储源文件名而不是控件 - 如果TextBox未设置为只读,则用户可能会意外更改它。