Enumerating file system directories (VB) : DriveInfo « File Directory « ASP.NET Tutorial






<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        For Each drive As System.IO.DriveInfo In System.IO.DriveInfo.GetDrives()

            Dim node As TreeNode = New TreeNode()
            node.Value = drive.Name

            If (drive.IsReady) Then
                node.Text = drive.Name & " - (free space: " & drive.AvailableFreeSpace & ")"

                LoadDirectories(node, drive.Name)
            Else
                node.Text = drive.Name & " - (not ready)"
            End If

            Me.TreeView1.Nodes.Add(node)
        Next        
    End Sub
    Private Sub LoadDirectories(ByVal parent As TreeNode, ByVal path As String)
        
        Dim directory As System.IO.DirectoryInfo = _
                  New System.IO.DirectoryInfo(path)
        
        Try
            For Each d As System.IO.DirectoryInfo In directory.GetDirectories()
            
                Dim node As TreeNode = New TreeNode(d.Name, d.FullName)

                parent.ChildNodes.Add(node)

                'Recurse the current directory
                LoadDirectories(node, d.FullName)
            Next
        Catch ex As System.UnauthorizedAccessException
            parent.Text += " (Access Denied)"
        Catch ex As System.IO.IOException
            parent.Text += " (Unknown Error: " + ex.Message + ")"
        End Try
    End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <table>
            <tr>
                <td valign="top">
                    <asp:TreeView ID="TreeView1" runat="server"></asp:TreeView>
                </td>
            </tr>
        </table>    
    </div>
    </form>
</body>
</html>








10.6.DriveInfo
10.6.1.Enumerating file system directories (C#)
10.6.2.Enumerating file system directories (VB)
10.6.3.Enumerating through local file system drives (C#)
10.6.4.Enumerating through local file system drives (VB)
10.6.5.Displaying local drive information (C#)
10.6.6.Displaying local drive information (VB)