Files
EnglewoodLAB/Assets/Scripts/UVC/Util/DriveUtil.cs

44 lines
1.5 KiB
C#

using System.IO;
namespace UVC.Util
{
/// <summary>
/// DriveUtil 클래스는 시스템 드라이브의 가용 공간을 계산하는 유틸리티를 제공합니다.
/// </summary>
public static class DriveUtil
{
/// <summary>
/// 지정된 드라이브의 가용 GigaByte 크기를 반환합니다.
/// </summary>
/// <param name="driveName">드라이브 이름 (예: "C"). 기본값은 "C"입니다.</param>
/// <returns>가용 공간(GigaByte) 또는 드라이브가 없을 경우 -1을 반환합니다.</returns>
/// <example>
/// // Example usage:
/// long freeSpace = DriveUtil.GetDriveGigaBytes("C");
/// if (freeSpace != -1)
/// {
/// Debug.Log($"C 드라이브의 가용 공간: {freeSpace} GB");
/// }
/// else
/// {
/// Debug.LogError("드라이브를 찾을 수 없습니다.");
/// }
/// </example>
public static long GetDriveGigaBytes(string driveName = "C")
{
DriveInfo[] drivers = DriveInfo.GetDrives();
foreach (var item in drivers)
{
if (item.DriveType == DriveType.Fixed)
{
if (item.Name.StartsWith(driveName))
{
return item.AvailableFreeSpace / 1024 / 1024 / 1024;
}
}
}
return -1;
}
}
}