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

C#에서 파일 존재 여부 확인하기 – File.Exists 메서드 완벽 가이드

C#에서 특정 파일이 실제로 존재하는지 확인해야 하는 경우가 자주 있습니다. 예를 들어, 프로그램이 설정 파일을 읽기 전에 해당 파일이 있는지 먼저 검사하면 FileNotFoundException 같은 런타임 오류를 미리 방지할 수 있습니다.

C#에서는 System.IO 네임스페이스에 포함된 File.Exists() 메서드를 사용하여 파일의 존재 여부를 간단하게 확인할 수 있습니다. 이 메서드는 파일이 존재하면 true, 존재하지 않으면 false를 반환합니다.

현재 디렉터리에서 파일 확인하기

먼저, 프로그램이 실행되는 현재 디렉터리에 파일이 있는지 확인하는 방법입니다. 파일 이름만 인수로 전달하면 됩니다.

if (File.Exists("MyFile.txt")) {
    Console.WriteLine("파일이 존재합니다.");
}

특정 경로(디렉터리)에서 파일 확인하기

다음은 지정된 경로에 파일이 존재하는지 확인하는 방법입니다. 경로 앞에 @ 기호를 붙이면 이스케이프 문자 처리 없이 경로를 그대로 사용할 수 있어 편리합니다.

if (File.Exists(@"D:\myfile.txt")) {
    Console.WriteLine("파일이 존재합니다.");
}

전체 예제 코드

아래는 현재 디렉터리와 D 드라이브 두 곳에서 각각 파일의 존재 여부를 확인하는 완전한 C# 예제입니다.

using System;
using System.IO;
class Demo {
    static void Main() {
        if (File.Exists("MyFile.txt")) {
            Console.WriteLine("파일이 존재합니다...");
        } else {
            Console.WriteLine("현재 디렉터리에 파일이 존재하지 않습니다!");
        }
        if (File.Exists(@"D:\myfile.txt")) {
            Console.WriteLine("파일이 존재합니다...");
        } else {
            Console.WriteLine("D 드라이브에 파일이 존재하지 않습니다!");
        }
    }
}

실행 결과

두 위치 모두에 파일이 없는 경우, 프로그램은 다음과 같은 출력을 보여줍니다.

현재 디렉터리에 파일이 존재하지 않습니다!
D 드라이브에 파일이 존재하지 않습니다!

참고 사항

File.Exists() 메서드는 파일이 존재하지만 접근 권한이 없는 경우에도 false를 반환할 수 있다는 점에 유의하세요. 또한 이 메서드는 호출 시점의 파일 상태만 확인하므로, 그 직후 다른 프로세스가 파일을 삭제하거나 변경할 가능성도 항상 염두에 두어야 합니다.