vb.net 教程 4-4 目录操作 Directory 1

.Net对文件的操作主要通过System.Io命名空间进行的,包括驱动器、文件夹、文件信息的获取、简单操作,以及文件和数据流的读写等。
在本章教程中需要引用System.Io,请在窗体的所有代码之前,例如Form1窗体的代码
Public Class Form1
之前加上
Imports System.IO

除了DirictoryInfo外,.net还提供了Directory类来操作目录,
Directory提供了与DirectoryInfo类似的方法,但是不同于DirectoryInfo,Directory没有提供属性,只有方法,而且方法是静态的,也就是直接可以用的。
大家在使用的时候,那个用着简单就用哪个。

我做了一个类似于 《 vb.net 教程 4-2 目录操作 DirectoryInfo 1 》中的窗体来说明:

获得目录信息:
    Private Sub btnChooseFolder_Click(sender As Object,e As EventArgs) Handles btnChooseFolder.Click
        If FolderbrowserDialog1.ShowDialog <> DialogResult.OK Then
            Exit Sub
        End If

        Dim folderPath As String = FolderbrowserDialog1.Selectedpath

        txtFolderInfo.Text = ""
        txtFolderInfo.Text &= "路径:" & folderPath & ControlChars.CrLf
        txtFolderInfo.Text &= "创建日期:" & Directory.GetCreationTime(folderPath).ToString("yyyy-MM-dd") & ControlChars.CrLf
        txtFolderInfo.Text &= "最后修改日期:" & Directory.GetLastWriteTime(folderPath).ToString("yyyy-MM-dd") & ControlChars.CrLf

    End Sub
相比DirecotryInfo少了一些信息,不过可以获得一些别的信息:
    Private Sub btnCurrent_Click(sender As Object,e As EventArgs) Handles btnCurrent.Click
        txtFolderInfo.Text = ""
        txtFolderInfo.Text &= "此程序所在目录:" & Directory.GetCurrentDirectory & ControlChars.CrLf
        txtFolderInfo.Text &= "d:\bb所在根目录:" & Directory.GetDirectoryRoot("d:\bb") & ControlChars.CrLf
    End Sub
GetCurrentDirecotry()方法获得当前运行程序所在路径。
    Private Sub btnLogicalDrives_Click(sender As Object,e As EventArgs) Handles btnLogicalDrives.Click
        Dim LogicalDrives() As String
        LogicalDrives = Directory.GetLogicalDrives
        For Each drive As String In LogicalDrives
            txtFolderInfo.Text &= drive & ControlChars.CrLf
        Next
    End Sub
GetLogicalDrives()有点类似于《 vb.net 教程 4-1 获取磁盘驱动器信息 DriveInfo 》中用DriveInfo的GetDrives()方法,获得所有磁盘分区的Name。
运行时如图:
额,不用怀疑,我挂的硬盘分区有点多。

学习更多vb.net知识,请参看 vb.net 教程 目录

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...