vb.net将文件复制到另一个目录

时间:2016-05-11 04:32:17

标签: vb.net visual-studio-2012

我想将文件从选定的目录路径复制到另一个具有相同文件名的目录。我试试这段代码,

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:\资源的访问被拒绝"

2 个答案:

答案 0 :(得分:1)

以下情况发生UnauthorizedAccessException

  • 用户没有所需的权限。
  • 该文件正在使用中。
  • 文件路径是一个目录。
  • Path指定了只读文件。

答案 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未设置为只读,则用户可能会意外更改它。