본문 바로가기
개발언어/C#.NET

C# 파일 사이즈 구하기

by 엔돌슨 2011. 4. 13.
반응형

C# 파일 사이즈 구하는 방법


C# 에서 파일 사이즈를 구해서 출력해주는 코드를 작성하였습니다. FileInfo 클래스를 이용하여 파일의 정보를 얻은 후 파일 크기가 KB, MB, GB인지 출력해주는 것입니다. 간단한 소스이기 때문에 Util 클래스를 만들어 두고 C# 파일 사이즈 구하는 코드를 공통으로 사용하고 있습니다. 요즘 메신져 프로그램을 만들고 있는 데 파일 전송시에 파일의 용량을 출력해주어야 하기에 소스코드를 참고하였습니다. 코드를 정리해두면 필요할때 적시에 쓸 수 있기 때문에 C# 파일 사이즈 구하는 소스를 공통화할 필요가 있습니다.

FileInfo fInfo = new FileInfo(파일의 경로+파일명);
string strFileSize = GetFileSize(fInfo.Length);

	 IT, c#, C# 파일크기, 파일크기 구하기, 파일크기, C# 코드, C# 소스, GetFileSize, C# GetFileSize, C# FileInfo, FileInfo,


C# 파일 사이즈 구하는 코드


        private string GetFileSize(double byteCount)
        {
            string size = "0 Bytes";
            if (byteCount >= 1073741824.0)
                size = String.Format("{0:##.##}", byteCount / 1073741824.0) + " GB";
            else if (byteCount >= 1048576.0)
                size = String.Format("{0:##.##}", byteCount / 1048576.0) + " MB";
            else if (byteCount >= 1024.0)
                size = String.Format("{0:##.##}", byteCount / 1024.0) + " KB";
            else if (byteCount > 0 && byteCount < 1024.0)
                size = byteCount.ToString() + " Bytes";

            return size;
        }

참고사이트 : http://www.vcskicks.com/csharp_filesize.php


비슷한 함수
        public static string HumanReadableFileSize(long lBytes)
        {
            var sb = new StringBuilder();
            string strUnits = "Bytes";
            float fAdjusted = 0.0F;

            if (lBytes > 1024)
            {
                if (lBytes < 1024 * 1024)
                {
                    strUnits = "KB";
                    fAdjusted = Convert.ToSingle(lBytes) / 1024;
                }
                else
                {
                    strUnits = "MB";
                    fAdjusted = Convert.ToSingle(lBytes) / 1048576;
                }
                sb.AppendFormat("{0:0.0} {1}", fAdjusted, strUnits);
            }
            else
            {
                fAdjusted = Convert.ToSingle(lBytes);
                sb.AppendFormat("{0:0} {1}", fAdjusted, strUnits);
            }

            return sb.ToString();
        }