DotNet指定文件显示的尺寸
2024-09-25 13:10:28
在项目中开发中,有时候需要将文件的尺寸进行控制,例如需要将文件的尺寸指定为字节,TB等。现在提供一个方法,实现将指定文件的尺寸,
提供:"字节", "KB", "MB", "GB", "TB"等尺寸的控制选项,一下方法代码可以在项目中直接使用,提高项目的开发效率。
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public static class FsLibValueExtract
{
readonly static string[] SizeDefinitions = { "字节", "KB", "MB", "GB", "TB" }; /// <summary>
/// 控制尺寸显示转换上限
/// </summary>
readonly static double SizeLevel = 0x400 * 0.9; /// <summary>
/// 转换为尺寸显示方式
/// </summary>
/// <param name="size">大小</param>
/// <returns>尺寸显示方式</returns>
public static string ToSizeDescription(this double size)
{
return ToSizeDescription(size, );
} /// <summary>
/// 转换为尺寸显示方式
/// </summary>
/// <param name="size">大小</param>
/// <param name="digits">小数位数</param>
/// <returns>尺寸显示方式</returns>
public static string ToSizeDescription(this double size, int digits)
{
var sizeDefine = ; while (sizeDefine < SizeDefinitions.Length && size > SizeLevel)
{
size /= 0x400;
sizeDefine++;
} if (sizeDefine == ) return size.ToString("#0") + " " + SizeDefinitions[sizeDefine];
return size.ToString("#0." + string.Empty.PadLeft(digits, '#')) + " " + SizeDefinitions[sizeDefine];
} /// <summary>
/// 转换为尺寸显示方式
/// </summary>
/// <param name="size">大小</param>
/// <returns>尺寸显示方式</returns>
public static string ToSizeDescription(this ulong size)
{
return ((double)size).ToSizeDescription();
} /// <summary>
/// 转换为尺寸显示方式
/// </summary>
/// <param name="size">大小</param>
/// <param name="digits">小数位数</param>
/// <returns>尺寸显示方式</returns>
public static string ToSizeDescription(this ulong size, int digits)
{
return ((double)size).ToSizeDescription(digits);
} /// <summary>
/// 转换为尺寸显示方式
/// </summary>
/// <param name="size">大小</param>
/// <returns>尺寸显示方式</returns>
public static string ToSizeDescription(this long size)
{
return ((double)size).ToSizeDescription();
} /// <summary>
/// 转换为尺寸显示方式
/// </summary>
/// <param name="size">大小</param>
/// <param name="digits">小数位数</param>
/// <returns>尺寸显示方式</returns>
public static string ToSizeDescription(this long size, int digits)
{
return ((double)size).ToSizeDescription(digits);
} /// <summary>
/// 转换为尺寸显示方式
/// </summary>
/// <param name="size">大小</param>
/// <returns>尺寸显示方式</returns>
public static string ToSizeDescription(this int size)
{
return ((double)size).ToSizeDescription();
} /// <summary>
/// 转换为尺寸显示方式
/// </summary>
/// <param name="size">大小</param>
/// <param name="digits">小数位数</param>
/// <returns>尺寸显示方式</returns>
public static string ToSizeDescription(this int size, int digits)
{
return ((double)size).ToSizeDescription(digits);
}
}
以上只是文件尺寸进行一个算术运算,实现以上所述的功能。
最新文章
- 我的权限系统设计实现MVC4 + WebAPI + EasyUI + Knockout(一)
- elasticsearch运维实战之2 - 系统性能调优
- Python导入cx_Oracle报错
- ThinkPHP中field 方法与getField 方法的区别。
- 绕过/*,web.xml直接访问jsp
- Web自动化框架之五一套完整demo的点点滴滴(excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试报告+对接缺陷管理系统+自动编译部署环境+自动验证false、error案例)
- 使用gcc编译gdb调试
- 解决配置android开发环境eclipse获取ADT获取不到,一直";Pending";
- Java eclipse生成doc文档
- IIS的php环境配置
- 【完整资料】TC358779XBG:HDMI转MIPI DSI芯片方案
- How to verify Certificate Pinning?
- selenium3+java+POM 跨浏览器测试之------读取配置文件
- HTML第三章总结
- 关于export和export default的区别
- yaml文件 *.yml 写法简介
- 自然语言处理--TF-IDF(关键词提取)
- 安装CentOS 6.x出现Disk sda contains BIOS RAID metadata
- Jquery12 Ajax
- [GO]并的爬取捧腹的段子