C#获取磁盘或文件夹的空间信息(总大小,可用大小,已用大小)?

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

在进行文件管理和存储时,了解磁盘或文件夹的空间信息可以帮助更好地管理和使用存储空间。C#提供了多种方法来获取磁盘或文件夹的空间信息。本文将介绍两种常用的方法:使用DriveInfo类和DirectoryInfo类。

方法一:使用DriveInfo类
DriveInfo是System.IO命名空间中的一个类,它提供了与磁盘驱动器相关的信息,包括磁盘可用空间、已用空间和总空间大小。可以利用这个类来获取磁盘的空间信息。下面是使用DriveInfo类的代码示例:

using System.IO;
DriveInfo drive = new DriveInfo(@"C:\");
long available = drive.AvailableFreeSpace;
long used = drive.TotalSize - drive.TotalFreeSpace;
long total = drive.TotalSize;

Console.WriteLine("可用空间:{0} GB", available / (1024 * 1024 * 1024));
Console.WriteLine("已用空间:{0} GB", used / (1024 * 1024 * 1024));
Console.WriteLine("总空间大小:{0} GB", total / (1024 * 1024 * 1024));

在上述代码中,首先创建了一个DriveInfo对象,表示要获取信息的驱动器。然后,使用AvailableFreeSpace属性获取磁盘的可用空间,使用TotalSize属性计算磁盘的已用空间和总空间大小。最后,将这些信息输出到控制台。

方法二:使用DirectoryInfo类
DirectoryInfo是System.IO命名空间中的一个类,它提供了与文件夹相关的信息,包括文件夹可用空间、已用空间和总空间大小。可以利用这个类来获取文件夹的空间信息。下面是使用DirectoryInfo类的代码示例:

using System.IO;
DirectoryInfo folder = new DirectoryInfo(@"C:\test");
long available = folder.AvailableFreeSpace;
long used = folder.EnumerateFiles("*", SearchOption.AllDirectories).Sum(file => file.Length);
long total = folder.Parent.TotalSize;
Console.WriteLine("可用空间:{0} GB", available / (1024 * 1024 * 1024));
Console.WriteLine("已用空间:{0} GB", used / (1024 * 1024 * 1024));
Console.WriteLine("总空间大小:{0} GB", total / (1024 * 1024 * 1024));

在上述代码中,首先创建了一个DirectoryInfo对象,表示要获取信息的文件夹。然后,使用AvailableFreeSpace属性获取文件夹的可用空间,使用EnumerateFiles方法获取文件夹下的所有文件,并计算它们的总长度来获取文件夹的已用空间。最后,使用Parent和TotalSize属性获取文件夹所在的磁盘的总空间大小,并将这些信息输出到控制台。

除了上面的代码外,还可用调用系统底层的方法实现

如下图所示:

        [DllImport("kernel32.dll", EntryPoint = "GetDiskFreeSpaceEx")]
        public static extern int GetDiskFreeSpaceEx(string lpDirectoryName, out long lpFreeBytesAvailable, out long lpTotalNumberOfBytes, out long lpTotalNumberOfFreeBytes);

效果如下:


附件:下载该文件资源,减少时间成本(增值服务)
不商用,只限学习使用,使用后请删除
上传者拥有该资源完整版权,下载既表明已授权您可以进行报备商用,无报备或者使用后报备,视为侵权,报备后使用,为合法有效使用,报备方式,下载后,在下载列表,点击报备,填写使用场景即可
文件部分展示图(单击放大)
C#获取磁盘或文件夹的空间信息(总大小,可用大小,已用大小)?C#获取磁盘或文件夹的空间信息(总大小,可用大小,已用大小)?
留言
该资源可下载
File Source
.rar
178.61 KB
C#获取磁盘或文件夹的空间信息(总大小,可用大小,已用大小)?C#获取磁盘或文件夹的空间信息(总大小,可用大小,已用大小)?
最新结算
股权转让协议意向书模板
类型: .docx 金额: CNY 2.23¥ 状态: 待结算 详细>
股权转让协议意向书模板
类型: .docx 金额: CNY 0.28¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 2.39¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 0.3¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章