C#에서 파일에 대한 정보를 얻는다는 것은 해당 파일에 설정된 모든 속성(Attribute)을 확인하는 것을 의미합니다. 예를 들어, 하나의 파일은 일반(Normal), 숨김(Hidden), 보관(Archive), 읽기 전용(ReadOnly) 등 다양한 속성을 가질 수 있습니다.
C#에서는 System.IO 네임스페이스의 FileInfo 클래스와 FileAttributes 열거형을 사용하면 파일의 속성 정보를 간단하게 조회할 수 있습니다.
1단계: FileInfo 클래스로 파일 객체 생성
먼저 확인하고자 하는 파일 경로를 지정하여 FileInfo 객체를 생성합니다.
FileInfo info = new FileInfo("hello.txt");2단계: FileAttributes로 속성 정보 가져오기
이제 FileInfo 객체의 Attributes 속성을 읽어 해당 파일에 설정된 속성 값을 가져옵니다.
FileAttributes attr = info.Attributes;
전체 예제 코드
다음은 텍스트 파일을 생성한 뒤, 그 파일의 속성 정보를 콘솔에 출력하는 완전한 코드입니다.
using System.IO;
using System;
public class Program {
public static void Main() {
// 텍스트 파일 생성 및 내용 작성
using (StreamWriter sw = new StreamWriter("hello.txt")) {
sw.WriteLine("This is demo text!");
}
// FileInfo 객체 생성
FileInfo info = new FileInfo("hello.txt");
// 파일 속성 정보 가져오기
FileAttributes attr = info.Attributes;
// 결과 출력
Console.WriteLine(attr);
}
}
실행 결과
Normal
새로 생성된 파일에는 별도의 특수 속성이 설정되지 않았으므로 Normal(일반)이 출력됩니다.
참고: 주요 FileAttributes 값
FileAttributes 열거형에는 다음과 같은 대표적인 값들이 포함되어 있습니다.
- Normal: 특별한 속성이 없는 일반 파일
- Hidden: 숨김 처리된 파일
- ReadOnly: 읽기만 가능한 파일
- Archive: 백업 또는 제거 대상으로 표시된 파일
- System: 운영체제 시스템 파일
- Directory: 디렉터리(폴더)
하나의 파일에 여러 속성이 동시에 설정된 경우, 출력 결과에 여러 값이 콤마로 구분되어 함께 표시됩니다.