加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 将fileinfo.Length对象测量为kbs

发布时间:2020-12-15 20:49:35 所属栏目:百科 来源:网络整理
导读:我有以下代码: foreach (string p in dirs) { string path = p; string lastAccessTime = File.GetLastAccessTime(path).ToString(); bool DirFile = File.Exists(path); FileInfo fInf = new FileInfo(path); DateTime lastWriteTime = File.GetLastWriteT
我有以下代码:

foreach (string p in dirs)
        {
            string path = p;
            string lastAccessTime = File.GetLastAccessTime(path).ToString();
            bool DirFile = File.Exists(path);
            FileInfo fInf = new FileInfo(path);

            DateTime lastWriteTime = File.GetLastWriteTime(p);
            dirFiles.Add(p + "|" + lastAccessTime.ToString() + "|" + DirFile.ToString() + "|" + lastWriteTime.ToString() + "|" + fInf.Length.ToString());


        }

我有一个fInf.Length.ToString(),我想用kbs来衡量输出.有关如何实现这一目标的任何想法?例如,我不想将2048作为文件大小,而是想得到2Kb.

在此先感谢您的帮助

解决方法

以下是如何将其分解为千兆字节,兆字节或千字节:

string sLen = fInf.Length.ToString();
if (fInf.Length >= (1 << 30))
    sLen = string.Format("{0}Gb",fInf.Length >> 30);
else
if (fInf.Length >= (1 << 20))
    sLen = string.Format("{0}Mb",fInf.Length >> 20);
else
if (fInf.Length >= (1 << 10))
    sLen = string.Format("{0}Kb",fInf.Length >> 10);

sLen会得到你的回答.你可以将它包装在一个函数中,只需传入Length,甚至是FileInfo对象.

如果不是’真正的’千字节,你想要的是1000字节,你可以替换1<< 10和>> 10分别为1000和/ 1000,其他使用1000000和1000000000.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读