DotNet指定文件显示的尺寸
在项目中开发中,有时候需要将文件的尺寸进行控制,例如需要将文件的尺寸指定为字节,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);
}
}
以上只是文件尺寸进行一个算术运算,实现以上所述的功能。
DotNet指定文件显示的尺寸的更多相关文章
- HTML input="file" 浏览时只显示指定文件类型 xls、xlsx、csv
html input="file" 浏览时只显示指定文件类型 xls.xlsx.csv <input id="fileSelect" type=" ...
- <input type="file" />浏览时只显示指定文件类型
<input type="file" />浏览时只显示指定文件类型 <input type="file" accept="appli ...
- linux tail-在屏幕上显示指定文件的末尾若干行
博主推荐:获取更多 linux文件内容查看命令 收藏:linux命令大全 tail命令用于输入文件中的尾部内容.tail命令默认在屏幕上显示指定文件的末尾10行.如果给定的文件不止一个,则在显示的每个 ...
- [转]C#中调用资源管理器(Explorer.exe)打开指定文件夹 + 并选中指定文件 + 调用(系统默认的播放类)软件(如WMP)打开(播放歌曲等)文件
原文:http://www.crifan.com/csharp_call_explorer_to_open_destinate_folder_and_select_specific_file/ C#中 ...
- 关于IE中通过http-equiv="X-UA-Compatible指定文件兼容性模式
.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier ...
- Linux下find一次查找多个指定类型文件,指定文件或者排除某类文件,在 GREP 中匹配多个关键 批量修改文件名等
http://blog.sina.com.cn/s/blog_62e7fe670101dg9d.html linux下二进制文件查找: strings 0000.ts | grep -o " ...
- C# 打开指定文件或网址
System.Diagnostics.Process.Start的妙用: 文件夹打开时自动选中一个文件,比如自动选中此目录下的指定文件方法: Process.Start("Explorer& ...
- shell 批量压缩指定文件夹及子文件夹内图片
shell 批量压缩指定文件夹及子文件夹内图片 用户上传的图片,一般都没有经过压缩,造成空间浪费.因此须要编写一个程序,查找文件夹及子文件夹的图片文件(jpg,gif,png),将大于某值的图片进行压 ...
- 自定义VBS脚本(统计在指定文件中搜索字符串出现的次数)
'=========================================================================='' VBScript Source File - ...
随机推荐
- C++哈夫曼树编码和译码的实现
一.背景介绍: 给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree).哈夫曼树是带权路径长度最短的树,权值较大的 ...
- 自定义cell右侧 多按钮
#import "ViewController.h" @interface ViewController () <UITableViewDataSource, UITable ...
- [转]runtime 消息机制
原文地址:http://www.jianshu.com/p/f6300eb3ec3d 一.关于runtime 之前在项目中有遇到过用runtime解决改变全局字体的问题,所以再一次感受到了runtim ...
- python文件读取
1.如何将一个“lessons.txt”文档一行行输出? myfile = file(‘lessons.txt’) for f in myfile.readlines(): print f myfil ...
- UI控件(UITextField)
@implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UITextField* textField1 = ...
- CSS选择器小结
在CSS3中是提倡使用选择器来将样式与元素直接绑定在一起的. 网页开发过程中,我们需要定义很多class来应用到不同的元素上,由于class本身是没有语义而且是可以复用的,所以过度使用class会使得 ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- 探索c#之一致性Hash详解
阅读目录: 使用场景 算法原理 虚拟节点 代码示例 使用场景 以Redis为例,当系统需要缓存的内容超过单机内存大小时,例如要缓存100G数据,单机内存仅有16G时.这时候就需要考虑进行缓存数据分片, ...
- java中文乱码解决之道(八)-----解决URL中文乱码问题
我们主要通过两种形式提交向服务器发送请求:URL.表单.而表单形式一般都不会出现乱码问题,乱码问题主要是在URL上面.通过前面几篇博客的介绍我们知道URL向服务器发送请求编码过程实在是实在太混乱了.不 ...
- sqlalchemy(一)基本操作
sqlalchemy(一)基本操作 sqlalchemy采用简单的Python语言,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型. 安装 需要安装MySQLdb pip install ...