많은 예제를 검색했지만 아무 것도 완벽하지 않았습니다. C#을 사용하고 있습니다.파일을 감지하는 방법은 무엇입니까?
내 응용 프로그램은 파일이 닫힐 때만 폴더의 파일을 제거해야합니다.
은 try-캐치 File.Open (...) 메소드는 MP3 등의 문서, XLS, PPT, PDF, 같은 특정 파일 형식에 대한 작동하지만, TXT, 우편, HTML 등을 위해 작동하지...
많은 예제를 검색했지만 아무 것도 완벽하지 않았습니다. C#을 사용하고 있습니다.파일을 감지하는 방법은 무엇입니까?
내 응용 프로그램은 파일이 닫힐 때만 폴더의 파일을 제거해야합니다.
은 try-캐치 File.Open (...) 메소드는 MP3 등의 문서, XLS, PPT, PDF, 같은 특정 파일 형식에 대한 작동하지만, TXT, 우편, HTML 등을 위해 작동하지...
보이는 동작은 파일의 확장자 나 내용과 관련이 없습니다. 연결된 응용 프로그램이 해당 파일을 처리하는 방식과 관련이 있습니다. 예를 들어 메모장, Internet Explorer 등은 내용을 읽은 후에 열린 파일에 대한 잠금을 유지하지 않습니다. 그래서 .txt와 .html 파일을 열 수 있습니다.
Microsoft Office, 사실상 모든 미디어 플레이어 등은 파일을 잠급니다. Office의 경우 다른 프로그램이 해당 파일을 삭제하거나 이동하지 않도록해야합니다. 미디어 플레이어의 경우 파일은 일반적으로 너무 커서 메모리로 완전히 읽을 수 없습니다. 이것이 사용중인 파일 유형을 잠그는 이유입니다.
즉, 사용하지 않는 것으로 보이는 파일은 실제로 사용되지 않습니다. 프로그램은 파일에서 데이터를 읽은 다음 닫고 이제는 끝났습니다. 파일에 대한 열린 핸들이 없으면 다른 프로그램에 특정 파일이 열려 있는지 여부를 쉽게 판단 할 수있는 방법이 없습니다.
바이너리 모드에서 파일 열기 File.Open (...)은 모든 파일에서 작동합니다.
쓰기 모드로 파일을 열어보십시오, 나는
당신이 필요로하는 것은 사용되지 않는 파일을 삭제하는 것입니다 ... rigth ... File.Delete에 의해 던져진 예외를 무시하십시오. 이 사용중인 파일 ..
try
{
File.Delete(path);
}
catch(Exception e)
{
// ignore ... or whatever action
}
삭제되지 않습니다 때문에 당신은 또한 읽기 전용 파일 권한 문제 등을 위해 사용 UnauthorizedAccessException에서 파일을 IOException이 같은 ... 특정 조치를 취할 특정 예외를 잡을 수 있습니다. ..
.. 여전히 파일로 예외를 통해 확인 및 삭제 작업 사이에 프로세스에 의해 개설되었을 수 있습니다 삭제하려고 다음 개방 파일을 확인 및 [C 번호의
메모장과 같은 특정 응용 프로그램에서는 잠금이 적용되지 않습니다. – VHanded
가능한 중복 : 확인하는 방법이 있나요 파일이 사용중인 경우?] (http://stackoverflow.com/questions/876473/c-is-there-a-way-to-check-if-a-file-is-in-use) –