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();//显示信息
        }
    }
}

 

3da0671e813fd9e41bd576f3.jpg


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

相关文章
|
17天前
|
Java Unix Windows
|
12天前
|
开发框架 .NET 中间件
C#/.NET快速上手学习资料集(让现在的自己不再迷茫)
C#/.NET快速上手学习资料集(让现在的自己不再迷茫)
|
2天前
|
Java 开发者
Java一分钟之-Java IO流:文件读写基础
【5月更文挑战第10天】本文介绍了Java IO流在文件读写中的应用,包括`FileInputStream`和`FileOutputStream`用于字节流操作,`BufferedReader`和`PrintWriter`用于字符流。通过代码示例展示了如何读取和写入文件,强调了常见问题如未关闭流、文件路径、编码、权限和异常处理,并提供了追加写入与读取的示例。理解这些基础知识和注意事项能帮助开发者编写更可靠的程序。
12 0
|
3天前
|
XML 开发框架 .NET
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
|
4天前
|
C#
C#断点续传的实现示例
C#断点续传的实现示例
7 0
|
11天前
|
存储 Java
Java的`java.io`包包含多种输入输出类
Java的`java.io`包包含多种输入输出类。此示例展示如何使用`FileInputStream`从`input.txt`读取数据。首先创建`FileInputStream`对象,接着分配一个`byte`数组存储流中的数据。通过`read()`方法读取数据,然后将字节数组转换为字符串打印。最后关闭输入流释放资源。`InputStream`是抽象类,此处使用其子类`FileInputStream`。其他子类如`ByteArrayInputStream`、`ObjectInputStream`和`BufferedInputStream`各有特定用途。
25 1
|
11天前
|
C++ 数据格式
【C++】C++中的【文件IO流】使用指南 [手把手代码演示] & [小白秒懂]
【C++】C++中的【文件IO流】使用指南 [手把手代码演示] & [小白秒懂]
【C++】C++中的【文件IO流】使用指南 [手把手代码演示] & [小白秒懂]
|
12天前
|
安全 Go
Golang深入浅出之-Go语言标准库中的文件读写:io/ioutil包
【4月更文挑战第27天】Go语言的`io/ioutil`包提供简单文件读写,适合小文件操作。本文聚焦`ReadFile`和`WriteFile`函数,讨论错误处理、文件权限、大文件处理和编码问题。避免错误的关键在于检查错误、设置合适权限、采用流式读写及处理编码。遵循这些最佳实践能提升代码稳定性。
21 0
|
13天前
|
存储 Java Linux
【Java EE】 文件IO的使用以及流操作
【Java EE】 文件IO的使用以及流操作
|
4月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
47 0