Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#으로 드라이브 여유 공간 확인하는 방법 – AvailableFreeSpace와 TotalFreeSpace 활용

C#에서 드라이브의 여유 공간 확인하기

C#에서 특정 드라이브의 남은 용량(여유 공간)을 확인하려면 System.IO 네임스페이스DriveInfo 클래스가 제공하는 AvailableFreeSpaceTotalFreeSpace 속성을 사용하면 됩니다. 이 두 속성은 모두 바이트(byte) 단위의 long 값을 반환합니다.

1. DriveInfo 객체 생성

먼저 확인하고자 하는 드라이브 이름을 지정하여 DriveInfo 객체를 생성합니다.

DriveInfo dInfo = new DriveInfo("D");

위 코드처럼 드라이브 문자만 인수로 전달하면 해당 드라이브의 정보를 담은 객체가 만들어집니다. 여기서는 D 드라이브의 여유 공간을 조회한다고 가정하겠습니다.

2. 전체 예제 코드

다음은 D 드라이브의 사용 가능한 여유 공간과 총 여유 공간을 콘솔에 출력하는 완전한 예제입니다.

예제

using System;
using System.Linq;
using System.IO;

public class Demo {
    public static void Main() {
        DriveInfo dInfo = new DriveInfo("D");

        // 사용 가능한 여유 공간
        Console.WriteLine(dInfo.AvailableFreeSpace);

        // 총 여유 공간
        Console.WriteLine(dInfo.TotalFreeSpace);
    }
}

실행 결과

프로그램을 실행하면 다음과 같이 D 드라이브의 여유 공간이 바이트 단위로 출력됩니다.

722243567912
722243567912

AvailableFreeSpace와 TotalFreeSpace의 차이점

두 속성은 비슷해 보이지만 의미가 조금씩 다릅니다.

  • AvailableFreeSpace : 현재 실행 중인 사용자가 실제로 사용할 수 있는 여유 공간을 반환합니다. 디스크 할당량(disk quota)이 설정된 시스템이라면 할당량이 반영된 값이므로, 일반적으로 이 속성을 사용하는 것이 안전합니다.
  • TotalFreeSpace : 사용자 할당량과 무관하게 해당 드라이브에 물리적으로 남아 있는 전체 여유 공간을 반환합니다.

참고 사항

존재하지 않거나 접근할 수 없는 드라이브 문자를 지정하면 DriveNotFoundException 또는 ArgumentException이 발생할 수 있으므로, 필요하다면 DriveInfo.IsReady 속성으로 드라이브가 준비되었는지 먼저 확인하는 것이 좋습니다.