FileInfo로 확인할수 없는 해당 파일을 이미 오픈되었는지 확인하는 소스입니다.
구글링 끝에 찾아 내었습니다.
참고하시기 바랍니다.
출처 : http://stackoverflow.com/questions/876473/is-there-a-way-to-check-if-a-file-is-in-use
protected virtual bool IsFileLocked(FileInfo file)
{
FileStream stream = null;
try
{
stream = file.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None);
}
catch (IOException)
{
//the file is unavailable because it is:
//still being written to
//or being processed by another thread
//or does not exist (has already been processed)
return true;
}
finally
{
if (stream != null)
stream.Close();
}
//file is not locked
return false;
}
1: protected virtual bool IsFileLocked(FileInfo file)
2: {
3: FileStream stream = null;
4: try
5: {
6: stream = file.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None);
7: }
8: catch (IOException)
9: {
10: //the file is unavailable because it is:
11: //still being written to
12: //or being processed by another thread
13: //or does not exist (has already been processed)
14: return true;
15: }
16: finally
17: {
18: if (stream != null)
19: stream.Close();
20: }
21: //file is not locked
22: return false;
23: }
'Language > C#(CLR,.NET)' 카테고리의 다른 글
C# DataSet, DataTable을 XML, XSD로 저장 (0) | 2012.06.12 |
---|---|
C#에서 Oracle LOB(CLOB) 데이터 입력 방법 (0) | 2012.06.12 |
[C#] 오픈다이얼로그(OpenFileDialog)에서 다중선택(Multiselect)시 1000개 이상 파일을 가져오지 못하는 경우 (0) | 2012.03.08 |
[C#] 실행 경로(또는 현재 경로)를 알아내는 방법 (1) | 2011.08.11 |
[C#] C#에서 DLLImport 방법 (0) | 2010.04.26 |