반응형
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개발 > 개발 일반' 카테고리의 다른 글
"벡터 이미지를 레스터화" 한다는게 뭐지? (1) | 2024.11.14 |
---|---|
DevExpress 엑셀 다운로드 XlsxExportOptions 설정하기 (2) | 2024.11.13 |
c#, "SqlParameter이(가) 이미 다른 SqlParameterCollection에 들어 있습니다." 에러 처리 (0) | 2024.11.11 |
함수(Function)과 메소드(Method)의 차이 (0) | 2024.11.10 |
MSSQL, CDC 원본 테이블이 alter 될 경우 (0) | 2024.11.09 |
댓글