c#.net 2.0 文件IO之DriveInfo类示例

简介:
2008-03-09 22:07

//program.cs

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace DriveInfo_GetDrives
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}

//form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace DriveInfo_GetDrives
{
    public partial class Form1 : Form
    {
        private long m = 0;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            
        }

        private void Button_GetInfo_Click(object sender, EventArgs e)
        {
            StringBuilder sb = new StringBuilder();//建立stringbuilder对象,用于在内存中存储临时信息
            DriveInfo[] myAllDrives = DriveInfo.GetDrives();// DriveInfo对象数组,存储获得的磁盘信息
            try
            {
                foreach (DriveInfo myDrive in myAllDrives)//循环写入每个磁盘的参数 属性
                {
                    if (myDrive.IsReady)
                    {
                        sb.Append("磁盘驱动器盘符:");
                        sb.AppendLine(myDrive.Name);
                        sb.Append("磁盘卷标:");
                        sb.AppendLine(myDrive.VolumeLabel);
                        sb.Append("磁盘类型:");
                        sb.AppendLine(myDrive.DriveType.ToString());
                        sb.Append("磁盘格式:");
                        sb.AppendLine(myDrive.DriveFormat);
                        sb.Append("磁盘大小:");
                        m = myDrive.TotalSize / (1024 * 1024);
                        sb.AppendLine(m.ToString()+"M");
                        sb.Append("磁盘可用剩余空间:");
                        m = myDrive.AvailableFreeSpace / (1024 * 1024);
                        sb.AppendLine(m.ToString()+"M");
                        sb.Append("磁盘总剩余空间:");
                        m= myDrive.TotalFreeSpace/(1024*1024);
                        sb.AppendLine(m.ToString()+"M");
                        sb.AppendLine("--------------------------------------------------");
                    }
                }
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            this.textBox_ShowInfo.Text = sb.ToString();//显示信息
        }
    }
}

 



本文转自悬魂博客园博客,原文链接:http://www.cnblogs.com/xuanhun/archive/2010/02/03/1662410.html,如需转载请自行联系原作者

相关文章
|
27天前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
58 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
19天前
|
JSON C# 开发者
C#语言新特性深度剖析:提升你的.NET开发效率
【10月更文挑战第15天】C#语言凭借其强大的功能和易用性深受开发者喜爱。随着.NET平台的演进,C#不断引入新特性,如C# 7.0的模式匹配和C# 8.0的异步流,显著提升了开发效率和代码可维护性。本文将深入探讨这些新特性,助力开发者在.NET开发中更高效地利用它们。
28 1
|
30天前
|
存储 消息中间件 NoSQL
Redis 入门 - C#.NET Core客户端库六种选择
Redis 入门 - C#.NET Core客户端库六种选择
52 8
|
25天前
|
人工智能 开发框架 C#
C#/.NET/.NET Core技术前沿周刊 | 第 6 期(2024年9.16-9.22)
C#/.NET/.NET Core技术前沿周刊 | 第 6 期(2024年9.16-9.22)
|
25天前
|
人工智能 开发框架 Cloud Native
C#/.NET/.NET Core技术前沿周刊 | 第 9 期(2024年10.07-10.13)
C#/.NET/.NET Core技术前沿周刊 | 第 9 期(2024年10.07-10.13)
|
25天前
|
开发框架 前端开发 API
C#/.NET/.NET Core优秀项目和框架2024年9月简报
C#/.NET/.NET Core优秀项目和框架2024年9月简报
|
25天前
|
开发框架 NoSQL MongoDB
C#/.NET/.NET Core开发实战教程集合
C#/.NET/.NET Core开发实战教程集合
|
1月前
|
存储 C#
【C#】大批量判断文件是否存在的两种方法效率对比
【C#】大批量判断文件是否存在的两种方法效率对比
32 1
|
1月前
|
搜索推荐 索引
【文件IO】实现:查找文件并删除、文件复制、递归遍历目录查找文件
【文件IO】实现:查找文件并删除、文件复制、递归遍历目录查找文件
33 2
|
1月前
|
编解码 Java 程序员
【文件IO】文件内容操作
【文件IO】文件内容操作
42 2