最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實(shí)現(xiàn)獲取文件大小并進(jìn)行比較

 更新時(shí)間:2023年03月15日 11:31:25   作者:牛奶咖啡13  
這篇文章主要為大家詳細(xì)介紹了C#如何實(shí)現(xiàn)獲取文件大小進(jìn)行單位轉(zhuǎn)換與文件大小比較功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下

一、實(shí)現(xiàn)功能

①需要獲取到文件的大小然后進(jìn)行合適單位的展示;

②將獲取到的文件大小統(tǒng)一單位;

③能夠進(jìn)行文件大小與設(shè)置數(shù)值比較;

④兩個(gè)文件比較大??;

二、核心腳本

/***
*	Title:"三維可視化" 項(xiàng)目
*		主題:文件操作【核心層】
*	Description:
*		功能:
*		    1、將文件大小(字節(jié))轉(zhuǎn)換為最適合的顯示方式
*		    2、將文件大小(字節(jié))統(tǒng)一轉(zhuǎn)換為K\M\G為單位
*		    3、將所有文件與設(shè)置的數(shù)值比較文件的大小
*		    4、比較兩個(gè)文件的大小
*	Date:2020
*	Version:0.1版本
*	Author:Coffee
*	Modify Recoder:
*/
 
using System;
using System.IO;
 
namespace Kernal
{
    public class FileOPC 
	{
       
        /// <summary>
        /// 獲取到文件的大小
        /// </summary>
        /// <param name="fileInfo">文件信息</param>
        /// <returns>返回文件的大?。▎挝皇亲止?jié))</returns>
        public static long GetFileSize(FileInfo fileInfo)
        {
            return fileInfo.Length;
        }
 
        /// <summary>
        /// 將文件大小(字節(jié))轉(zhuǎn)換為最適合的顯示方式
        /// </summary>
        /// <param name="size">文件字節(jié)</param>
        /// <returns>返回轉(zhuǎn)換后的字符串</returns>
        public static string ConvertFileSize(long size)
        {
            string result = "0KB";
            int filelength = size.ToString().Length;
            if (filelength < 4)
                result = size + "byte";
            else if (filelength < 7)
                result = Math.Round(Convert.ToDouble(size / 1024d), 2) + "KB";
            else if (filelength < 10)
                result = Math.Round(Convert.ToDouble(size / 1024d / 1024), 2) + "MB";
            else if (filelength < 13)
                result = Math.Round(Convert.ToDouble(size / 1024d / 1024 / 1024), 2) + "GB";
            else
                result = Math.Round(Convert.ToDouble(size / 1024d / 1024 / 1024 / 1024), 2) + "TB";
            return result;
        }
 
 
        /// <summary>
        /// 將文件大小(字節(jié))統(tǒng)一轉(zhuǎn)換為K為單位
        /// </summary>
        /// <param name="size">文件字節(jié)</param>
        /// <returns>返回轉(zhuǎn)換后的字符串</returns>
        public static double ConvertFileSizeToK(long size)
        {
            double result = 0;
            if (size > 0)
            {
                result = Math.Round(Convert.ToDouble(size / 1024d), 2);
            }
            return result;
        }
 
        /// <summary>
        /// 將文件大小(字節(jié))統(tǒng)一轉(zhuǎn)換為M為單位
        /// </summary>
        /// <param name="size">文件字節(jié)</param>
        /// <returns>返回轉(zhuǎn)換后的字符串</returns>
        public static double ConvertFileSizeToM(long size)
        {
            double result = 0;
            if (size > 0)
            {
                result = Math.Round(Convert.ToDouble(size / 1024d / 1024), 2);
            }
            return result;
        }
 
        /// <summary>
        /// 將文件大小(字節(jié))統(tǒng)一轉(zhuǎn)換為G為單位
        /// </summary>
        /// <param name="size">文件字節(jié)</param>
        /// <returns>返回轉(zhuǎn)換后的字符串</returns>
        public static double ConvertFileSizeToG(long size)
        {
            double result = 0;
            if (size > 0)
            {
                result = Math.Round(Convert.ToDouble(size / 1024d / 1024 / 1024), 2);
            }
            return result;
        }
 
        /// <summary>
        /// 將所有文件與設(shè)置的數(shù)值比較文件的大小
        /// </summary>
        /// <param name="fileInfo">當(dāng)前的文件信息</param>
        /// <param name="curSetFileSize">當(dāng)前設(shè)置的文件大小</param>
        /// <returns>返回比較的結(jié)果(true:表示滿足)</returns>
        public static bool CompareFileSize(FileInfo fileInfo, double curSetFileSize, CompareFileDir compareFileDir)
        {
            bool success = false;
            double curFileSize = FileOPC.ConvertFileSizeToM(fileInfo.Length);
            switch (compareFileDir)
            {
                case CompareFileDir.大于:
                    if (curFileSize > curSetFileSize)
                    {
                        success = true;
                    }
                    break;
                case CompareFileDir.小于:
                    if (curFileSize < curSetFileSize)
                    {
                        success = true;
                    }
                    break;
                case CompareFileDir.等于:
                    if (curFileSize == curSetFileSize)
                    {
                        success = true;
                    }
                    break;
                case CompareFileDir.大于等于:
                    if (curFileSize >= curSetFileSize)
                    {
                        success = true;
                    }
                    break;
                case CompareFileDir.小于等于:
                    if (curFileSize <= curSetFileSize)
                    {
                        success = true;
                    }
                    break;
                default:
                    break;
            }
 
            return success;
        }
 
        /// <summary>
        /// 比較兩個(gè)文件的大小
        /// </summary>
        /// <param name="fileInfo">當(dāng)前的文件信息</param>
        /// <param name="curSetFileSize">當(dāng)前設(shè)置的文件大小</param>
        /// <returns>返回比較的結(jié)果(true:表示文件1比文件2大)</returns>
        public static bool CompareTwoFileSize(FileInfo fileInfo1, FileInfo fileInfo2, CompareFileDir compareFileDir)
        {
            bool success = false;
            double curFile1Size = FileOPC.ConvertFileSizeToM(fileInfo1.Length);
            double curFile2Size = FileOPC.ConvertFileSizeToM(fileInfo2.Length);
            switch (compareFileDir)
            {
                case CompareFileDir.大于:
                    if (curFile1Size > curFile2Size)
                    {
                        success = true;
                    }
                    break;
                case CompareFileDir.小于:
                    if (curFile1Size < curFile2Size)
                    {
                        success = true;
                    }
                    break;
                case CompareFileDir.等于:
                    if (curFile1Size == curFile2Size)
                    {
                        success = true;
                    }
                    break;
                case CompareFileDir.大于等于:
                    if (curFile1Size >= curFile2Size)
                    {
                        success = true;
                    }
                    break;
                case CompareFileDir.小于等于:
                    if (curFile1Size <= curFile2Size)
                    {
                        success = true;
                    }
                    break;
                default:
                    break;
            }
 
            return success;
        }
 
        
    }//Class_end
 
    //比較文件的方向
    public enum CompareFileDir
    {
        大于,         //大于
        小于,         //小于
        等于,         //等于
        大于等于,     // 大于等于
        小于等于,     //大于等于
    }
}

三、使用方法

①引用命名空間

using Kernal;

②直接使用對(duì)應(yīng)的類名+方法即可

到此這篇關(guān)于C#實(shí)現(xiàn)獲取文件大小并進(jìn)行比較的文章就介紹到這了,更多相關(guān)C#獲取文件大小內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#配置文件設(shè)置及應(yīng)用詳解

    C#配置文件設(shè)置及應(yīng)用詳解

    在軟件開發(fā)過程中,配置文件是常用的一個(gè)功能,用于在程序運(yùn)行時(shí)調(diào)整應(yīng)用程序的行為,C# 提供了多種方式來創(chuàng)建和使用配置文件,本文將詳細(xì)介紹 C# 配置文件的創(chuàng)建、修改、讀取和寫入,以及跨平臺(tái)配置文件的應(yīng)用,需要的朋友可以參考下
    2024-06-06
  • C#調(diào)用動(dòng)態(tài)庫

    C#調(diào)用動(dòng)態(tài)庫

    本文詳細(xì)講解了C#調(diào)用動(dòng)態(tài)庫的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • C#實(shí)現(xiàn)文件與二進(jìn)制互轉(zhuǎn)并存入數(shù)據(jù)庫

    C#實(shí)現(xiàn)文件與二進(jìn)制互轉(zhuǎn)并存入數(shù)據(jù)庫

    這篇文章主要介紹了C#實(shí)現(xiàn)文件與二進(jìn)制互轉(zhuǎn)并存入數(shù)據(jù)庫,本文直接給出代碼實(shí)例,代碼中包含詳細(xì)注釋,需要的朋友可以參考下
    2015-06-06
  • string與stringbuilder兩者的區(qū)別

    string與stringbuilder兩者的區(qū)別

    今天小編就為大家分享一篇關(guān)于string與stringbuilder兩者的區(qū)別,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 輕松學(xué)習(xí)C#的基礎(chǔ)入門

    輕松學(xué)習(xí)C#的基礎(chǔ)入門

    輕松學(xué)習(xí)C#的基礎(chǔ)入門,了解C#最基本的知識(shí)點(diǎn),C#是一種簡(jiǎn)潔的,類型安全的一種完全面向?qū)ο蟮拈_發(fā)語言,是Microsoft專門基于.NET Framework平臺(tái)開發(fā)的而量身定做的高級(jí)程序設(shè)計(jì)語言,需要的朋友可以參考下
    2015-11-11
  • C# String Replace高效的實(shí)例方法

    C# String Replace高效的實(shí)例方法

    C# String Replace高效的實(shí)例方法,需要的朋友可以參考一下
    2013-05-05
  • C#逐行分元素讀取記事本數(shù)據(jù)并寫入數(shù)據(jù)庫的方法

    C#逐行分元素讀取記事本數(shù)據(jù)并寫入數(shù)據(jù)庫的方法

    這篇文章主要介紹了C#逐行分元素讀取記事本數(shù)據(jù)并寫入數(shù)據(jù)庫的方法,通過StreamReader類里的ReadLine()方法實(shí)現(xiàn)逐行讀取的功能,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-12-12
  • C#利用System.Threading.Thread.Sleep即時(shí)輸出信息的詳解

    C#利用System.Threading.Thread.Sleep即時(shí)輸出信息的詳解

    本篇文章是對(duì)C#利用System.Threading.Thread.Sleep即時(shí)輸出信息進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • C#如何給word文檔添加水印

    C#如何給word文檔添加水印

    這篇文章主要為大家詳細(xì)介紹了C#如何給word文檔添加水印的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • c#刪除代碼中的單行注釋行示例

    c#刪除代碼中的單行注釋行示例

    本文提供了c#刪除代碼中的單行注釋行的示例,還可以看到文件流的使用方法,大家參考使用吧
    2014-01-01

最新評(píng)論

凤山县| 哈密市| 云和县| 团风县| 新闻| 临沂市| 富民县| 麻栗坡县| 抚顺县| 化德县| 鸡泽县| 纳雍县| 洞口县| 沈阳市| 榆林市| 临沧市| 丰顺县| 衡阳市| 湖州市| 米林县| 绥滨县| 尼木县| 达拉特旗| 凌云县| 田阳县| 教育| 驻马店市| 湾仔区| 轮台县| 开鲁县| 泉州市| 定结县| 汕头市| 福海县| 磴口县| 额济纳旗| 莱阳市| 商城县| 苗栗市| 青州市| 五大连池市|