반응형
C# 파일 사이즈 구하는 방법
C# 에서 파일 사이즈를 구해서 출력해주는 코드를 작성하였습니다. FileInfo 클래스를 이용하여 파일의 정보를 얻은 후 파일 크기가 KB, MB, GB인지 출력해주는 것입니다. 간단한 소스이기 때문에 Util 클래스를 만들어 두고 C# 파일 사이즈 구하는 코드를 공통으로 사용하고 있습니다. 요즘 메신져 프로그램을 만들고 있는 데 파일 전송시에 파일의 용량을 출력해주어야 하기에 소스코드를 참고하였습니다. 코드를 정리해두면 필요할때 적시에 쓸 수 있기 때문에 C# 파일 사이즈 구하는 소스를 공통화할 필요가 있습니다.
FileInfo fInfo = new FileInfo(파일의 경로+파일명);
string strFileSize = GetFileSize(fInfo.Length);
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();
}