在C#与.NET Core 5.0中获取文件大小、长度所需的命名空间是什么
使用C# + .NET Core 5.0获取目录下文件大小实现方案
你可以通过.NET内置的System.IO相关API直接实现该需求,无需额外依赖,实现步骤和代码示例如下:
- 首先调用
Directory.GetFiles方法获取目标目录下的所有文件路径,可通过参数配置是否递归遍历子目录 - 遍历每个文件路径,初始化
FileInfo实例,直接读取Length属性即可获取文件的字节长度,可按需换算为KB/MB/GB等常用单位
using System; using System.IO; namespace GetFileSizeDemo { class Program { static void Main(string[] args) { // 替换为你的实际目标目录路径 string directoryPath = @"你的目录路径"; // 枚举目标目录下的所有文件,将SearchOption改为AllDirectories可递归查询所有子目录 string[] filePaths = Directory.GetFiles(directoryPath, "*", SearchOption.TopDirectoryOnly); foreach (var path in filePaths) { FileInfo fileInfo = new FileInfo(path); // 按需格式化输出信息,以下是示例 Console.WriteLine($"文件名:{fileInfo.Name},文件字节长度:{fileInfo.Length} B,换算后大小:{Math.Round(fileInfo.Length / 1024.0, 2)} KB"); } } } }
补充说明
- 运行时如果存在无权限访问的文件,可以在循环内加try-catch捕获
UnauthorizedAccessException避免程序中断 - 如果你需要获取整个目录的总大小,只需要累加该目录下所有文件的
Length值即可 - 原目录样例参考:

内容的提问来源于stack exchange,提问作者D052057
相关产品推荐
相关产品推荐

