浅析VB.Net语言 复制、删除文件案例

来源:网络时间:2011-06-28

  VB.NET语言经过长时间的发展,很多用户都很了解VB.NET语言了,这里我发表一个关于VB.Net语言 复制、删除文件的例子,和大家一起分享一下。

  VB.Net语言 复制、删除文件代码:

  Imports System.IO
  Imports System.IO.Directory
  ' ======================================================
  ' 实现一个静态方法将指定文件夹下面的所有内容copy到目标文件夹下面
  ' 如果目标文件夹为只读属性就会报错。
  ' ======================================================
  Public Shared Sub CopyDir(ByVal srcPath As String, ByVal aimPath As String)
  Try
  ' 检查目标目录是否以目录分割字符\结束,如果不是则添加之
  If aimPath(aimPath.Length - 1) <> Path.DirectorySeparatorChar Then
  aimPath += Path.DirectorySeparatorChar
  End If
  '判断源目录是否存在,不存在则退出.
  If (Not Directory.Exists(srcPath)) Then Exit Sub
  ' 判断目标目录是否存在如果不存在则新建之
  If (Not Directory.Exists(aimPath)) Then Directory.CreateDirectory(aimPath)
  ' 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
  ' 如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法
  ' string[] fileList = Directory.GetFiles(srcPath);
  Dim fileList() As String = Directory.GetFileSystemEntries(srcPath)
  ' 遍历所有的文件和目录
  For Each FileName As String In fileList
  ' 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
  If Directory.Exists(FileName) Then
  CopyDir(FileName, aimPath + Path.GetFileName(FileName))
  ' 否则直接Copy文件
  Else
  File.Copy(FileName, aimPath + Path.GetFileName(FileName), True)
  End If
  Next
  Catch ex As Exception
  MessageBox.Show(ex.ToString())
  End Try
  End Sub
  ' ======================================================
  ' 实现一个静态方法将指定文件夹下面的所有内容Detele
  ' 测试的时候要小心*作,删除之后无法恢复。
  ' ======================================================
  Public Shared Sub DeleteDir(ByVal aimPath As String)
  Try
  ' 检查目标目录是否以目录分割字符结束如果不是则添加之
  If (aimPath(aimPath.Length - 1) <> Path.DirectorySeparatorChar) Then
  aimPath += Path.DirectorySeparatorChar
  End If
  '判断待删除的目录是否存在,不存在则退出.
  If (Not Directory.Exists(aimPath)) Then Exit Sub
  ' 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
  ' 如果你指向Delete目标文件下面的文件而不包含目录请使用下面的方法
  ' string[] fileList = Directory.GetFiles(aimPath);
  Dim fileList() As String = Directory.GetFileSystemEntries(aimPath)
  ' 遍历所有的文件和目录
  For Each FileName As String In fileList
  If (Directory.Exists(FileName)) Then
  ' 先当作目录处理如果存在这个目录就递归Delete该目录下面的文件
  DeleteDir(aimPath + Path.GetFileName(FileName))
  Else
  ' 否则直接Delete文件
  File.Delete(aimPath + Path.GetFileName(FileName))
  End If
  Next
  '删除文件夹
  System.IO.Directory.Delete(aimPath, True)
  Catch ex As Exception
  MessageBox.Show(ex.ToString())
  End Try
  End Sub

意见反馈
发表评论

最新评论(共0条)