【问题标题】:c# Displaying the size of a File in kB in a Labelc# 在标签中以 kB 为单位显示文件的大小
【发布时间】:2013-11-20 17:13:58
【问题描述】:

大家好,想知道是否有人可以帮助我解决这个问题,我已经使用 c# 玩了几个星期了,所以我还是个处女,我遇到的问题是 fileinfo 构造函数,我想在图像/音频文件/视频文件下方的标签中显示文件的大小(以 kb 为单位)(我正在构建一个基本的媒体播放器),这是我迄今为止在这个问题上的代码:

public void GetFileSize(String FileName) {

        FileInfo fs = new FileInfo (FileName);
        long filesize = FileName.Length / 1024;

        /*string filesize = System.Convert.ToString(size);*/
        picFileSizeLabel.Text = System.Convert.ToString(filesize);


    }

由于某种原因,标签仅显示 0,当我将其更改为“long filesize = FileName.Length”并且不除以 1024 时,标签中显示为 51 或有时为 55,任何帮助或 cmets 将赞赏

【问题讨论】:

    标签: c# file size label fileinfo


    【解决方案1】:

    问题:您正在尝试获取FileName Length 而不是File Length

    解决方案1
    这个:

     long filesize = FileName.Length / 1024;
    

    应该是:

     long filesize = fs.Length / 1024;
    

    最后应该是这样的:

    FileInfo fs = new FileInfo (FileName);
    long filesize = fs.Length / 1024;
    

    解决方案2:filesize末尾添加KB

    picFileSizeLabel.Text = System.Convert.ToString(filesize)+"KB";
    

    【讨论】:

    • 谢谢!!帮助很大,现在可以正常使用,现在我只需要以 kb 显示它
    • @user3014192:好的。长度以字节为单位,所以如果你这样做 /1024 你会得到 KB 对吗?
    • 是的,它工作正常并且完美地以 kb 显示文件大小,我只想说“826kb”而不是“826”,
    • @user3014192:使用解决方案 2 部分检查我编辑的答案,如果对您有帮助,请接受它作为答案。
    • 感谢您提供了很大帮助的建议,解决方案 2 工作正常
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-19
    • 2014-06-12
    • 2020-04-20
    • 2014-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多