zoukankan      html  css  js  c++  java
  • asp.net获取磁盘相关信息

    使用System.IO名称空间下的DriveInfo类别,可以获取磁盘相关信息。 

    代码
     private DataTable GetDriveInfo(string driveName)
        {
            
    //new一个实例表   
            DataTable dataTable = new DataTable();

            DataColumn dataColumn;
            
    //new一个字段
            dataColumn = new DataColumn();
            
    //字段存储的数据类型
            dataColumn.DataType = Type.GetType("System.String");
            
    //Gets the name of a drive. 
            dataColumn.ColumnName = "Name";
            
    //把这个字段添加至表中。
            dataTable.Columns.Add(dataColumn);

            dataColumn 
    = new DataColumn();
            dataColumn.DataType 
    = Type.GetType("System.String");
            
    //Indicates the amount of available free space on a drive.
            dataColumn.ColumnName = "AvailableFreeSpace";
            dataTable.Columns.Add(dataColumn);

            dataColumn 
    = new DataColumn();
            dataColumn.DataType 
    = Type.GetType("System.String");
            
    //Gets the name of the file system, such as NTFS or FAT32. 
            dataColumn.ColumnName = "Format";
            dataTable.Columns.Add(dataColumn);

            dataColumn 
    = new DataColumn();
            dataColumn.DataType 
    = Type.GetType("System.String");
            
    //Gets the drive type. 
            dataColumn.ColumnName = "Type";
            dataTable.Columns.Add(dataColumn);

            dataColumn 
    = new DataColumn();
            dataColumn.DataType 
    = Type.GetType("System.String");
            
    //Gets a value indicating whether a drive is ready. 
            dataColumn.ColumnName = "Ready";
            dataTable.Columns.Add(dataColumn);

            dataColumn 
    = new DataColumn();
            dataColumn.DataType 
    = Type.GetType("System.String");
            
    //Gets the root directory of a drive.
            dataColumn.ColumnName = "RootDirectory";
            dataTable.Columns.Add(dataColumn);      

            dataColumn 
    = new DataColumn();
            dataColumn.DataType 
    = Type.GetType("System.String");
            
    //Gets the total amount of free space available on a drive. 
            dataColumn.ColumnName = "FreeSpace";
            dataTable.Columns.Add(dataColumn);

            dataColumn 
    = new DataColumn();
            dataColumn.DataType 
    = Type.GetType("System.String");
            
    //Gets the total size of storage space on a drive. 
            dataColumn.ColumnName = "TotalSize";
            dataTable.Columns.Add(dataColumn);

            dataColumn 
    = new DataColumn();
            dataColumn.DataType 
    = Type.GetType("System.String");
            
    //Gets or sets the volume label of a drive. 
            dataColumn.ColumnName = "Volume";
            dataTable.Columns.Add(dataColumn);

            
    //new一个DriveInfo对象,并传入盘符
            DriveInfo objDi = new DriveInfo(driveName);
            DataRow dataRow;
            dataRow 
    = dataTable.NewRow(); //表创建一行

            
    //下面是为字段赋值
            dataRow["Name"= objDi.Name.ToString();
            dataRow[
    "AvailableFreeSpace"= objDi.AvailableFreeSpace.ToString();
            dataRow[
    "Format"= objDi.DriveFormat.ToString();
            dataRow[
    "Type"= objDi.DriveType.ToString();
            dataRow[
    "Ready"= objDi.IsReady.ToString();
            dataRow[
    "RootDirectory"= objDi.RootDirectory.ToString();        
            dataRow[
    "FreeSpace"= objDi.TotalFreeSpace.ToString();
            dataRow[
    "TotalSize"= objDi.TotalSize.ToString();
            dataRow[
    "Volume"= objDi.VolumeLabel.ToString();

            
    //把行添加至表
            dataTable.Rows.Add(dataRow);
            dataTable.AcceptChanges();

            
    return dataTable;
        }

      

    指定显示C盘信息至GridView控件上:

    代码
     protected void Page_Load(object sender, EventArgs e)
        {
            
    if (!IsPostBack)
            {
                Data_Binding();
            }
        }

        
    private void Data_Binding()
        {
            
    //传入C盘
            this.GridView1.DataSource = GetDriveInfo("c");
            
    this.GridView1.DataBind();
        }

      

    或者您可以显示所有磁盘,显示RadioButtonList控件上:

    代码
     <asp:RadioButtonList ID="rblDriveList" runat="server" AutoPostBack="true" RepeatDirection="Horizontal" RepeatColumns="10" OnSelectedIndexChanged="rblDriveList_SelectedIndexChanged">
    </asp:RadioButtonList>

      

    给RadioButtonList控件绑定数据源:

    代码
     protected void Page_Load(object sender, EventArgs e)
        {
            
    if (!IsPostBack)
            {
                Data_Binding();
            }
        }

        
    private void Data_Binding()
        {       
            List
    <string> driveList = new List<string>();
            DriveInfo[] allDrives 
    = DriveInfo.GetDrives();

            
    foreach (DriveInfo di in allDrives)
            {
                driveList.Add(di.ToString().Substring(
    0,1));
            }

            
    this.rblDriveList.DataSource = driveList;
            
    this.rblDriveList.DataBind();        
        }

     
     点击磁盘盘符显示相应盘符信息:

    代码
         protected void rblDriveList_SelectedIndexChanged(object sender, EventArgs e)
        { 
            
    if (rblDriveList.SelectedItem.Value == string.Empty) return;
            
    this.GridView1.DataSource = GetDriveInfo(rblDriveList.SelectedItem.Value);
            
    this.GridView1.DataBind();
        }
  • 相关阅读:
    DeviceIOControl读写硬盘设备
    #ifdef的用法
    更改Visual Studio 2010的主题设置[.vssettings格式]
    vc2010 vs2010 智能插件Visual Assist 安装,设置
    VS2010 C++ 操作Excel表格的编程实现
    Python 字符串
    配置opencv2.4.11生成release版本
    配置opencv2.411调试版本(debug)
    边沿检测与提取,轮廓跟踪
    CComboBox控件的使用 1
  • 原文地址:https://www.cnblogs.com/insus/p/1915908.html
Copyright © 2011-2022 走看看