반응형
    
    
    
  C#에서 FileInfo 객체를 사용하여 파일이 사용 중인지 확인하려면, 파일을 열 수 있는지 시도하는 방법을 사용할 수 있다. 만약 파일이 이미 다른 프로세스에 의해 사용 중이라면, 예외가 발생할 것이다. 다음은 파일이 사용 중인지 확인하는 간단한 코드 예제다:
using System;
using System.IO;
public class FileUsageChecker
{
    public static bool IsFileInUse(FileInfo file)
    {
        try
        {
            using (FileStream stream = file.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None))
            {
                // 파일을 성공적으로 열었다면 사용 중이 아님
                stream.Close();
            }
        }
        catch (IOException)
        {
            // IOException이 발생하면 파일이 사용 중인 것임
            return true;
        }
        return false;
    }
    public static void Main()
    {
        FileInfo fileInfo = new FileInfo("C:\\path\\to\\your\\file.txt");
        bool inUse = IsFileInUse(fileInfo);
        if (inUse)
        {
            Console.WriteLine("파일이 사용 중입니다.");
        }
        else
        {
            Console.WriteLine("파일이 사용 중이 아닙니다.");
        }
    }
}이 코드에서는 FileStream을 사용하여 파일을 열어 본다. FileShare.None 옵션을 사용해 다른 프로세스가 파일을 사용할 수 없게 하며, 파일이 이미 사용 중이라면 IOException이 발생하게 된다. 예외가 발생하면 파일이 사용 중인 상태임을 의미하고, 그렇지 않으면 파일이 사용 중이 아니다.
반응형
    
    
    
  'IT개발 > 개발 일반' 카테고리의 다른 글
| Visual Studio 확장 프로그램 - CodeMaid 사용하여 사용성 높이기 (1) | 2024.11.15 | 
|---|---|
| MSSQL, Job 스케줄러 T-SQL로 생성하기 (1) | 2024.11.15 | 
| "벡터 이미지를 레스터화" 한다는게 뭐지? (2) | 2024.11.14 | 
| DevExpress 엑셀 다운로드 XlsxExportOptions 설정하기 (2) | 2024.11.13 | 
| c#, "SqlParameter이(가) 이미 다른 SqlParameterCollection에 들어 있습니다." 에러 처리 (0) | 2024.11.11 | 
 
										
									 
										
									 
										
									 
										
									
댓글