我如何使用 C# 获取以字节数为单位的人类可读的文件大小?
C# 提供了一种获取目录的方法 Directory.GetDirectories
Directory.GetDirectories 返回与指定目录中指定的搜索模式匹配的子目录的名称(包括其路径),并可选择搜索子目录。
C# 提供了一种获取文件的方法 Directory.GetFiles
Directory.GetFiles 返回所有与指定搜索模式匹配的文件的名称(包括其路径),并可选择搜索子目录
C# 提供了一个 Length 属性来获取文件长度
示例
static void Main(string[] args) {
string rootPath = @"C:\Users\Koushik\Desktop\TestFolder";
var files = Directory.GetFiles(rootPath, "*.*", SearchOption.AllDirectories);
foreach (string file in files) {
long size = new FileInfo(file).Length / 1024;
string humanKBSize = string.Format("{0} KB", size);
string humanMBSize = string.Format("{0} MB", size / 1024);
string humanGBSize = string.Format("{0} GB", size / 1024 / 1024);
Console.WriteLine($"KB:{humanKBSize} MB:{humanMBSize} GB:{humanGBSize}");
}
Console.ReadLine();
}输出
file C:\Users\Koushik\Desktop\TestFolder\Topdirectory.txt 22 KB 0 MB 0 GB file C:\Users\Koushik\Desktop\TestFolder\TestFolderMain\TestFolderMain.txt 0 KB 2 MB 0 GB file C:\Users\Koushik\Desktop\TestFolder\TestFolderMain1\TestFolderMain1.txt 0 KB 0 MB 1 GB file C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\TestFolderMain1.txt 0 KB 0 MB 1 GB file C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\TestFolderMain2.txt 0 KB 0 MB 1 GB file C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\TestFolderMainSubDirectory\TestFolderSubDirectory.txt 0 KB 0 MB 1 GB
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP