상태 모니터링을 사용하여 파일 정리 기능을 만들었습니다. 다른 프로세스에서 액세스 할 수없는 파일을 삭제하는 것입니다. 그래서 이것을 확인하고 싶습니다. 접근이 가능합니까? 액세스 권한이 없으면이 파일을 삭제합니다. 어떻게해야합니까? 오히려 (이 검사하고 삭제를 시도 사이의 시간에 변경 될 수로) 파일이 잠겨 있는지 확인하는 것보다, 할 수있는파일이 asp.net에서 사용되는지 여부를 알 수있는 방법
답변
한가지는 try
/catch
블록의 삭제 시도를 포장입니다 :
Dim filenameToDelete = "AFileThatsInuse.doc"
Try
System.IO.File.Delete(filenameToDelete)
Catch ex As IOException
' Have some code here that logs the content of the exception to a log file,
'the Windows Event Log or sends an email - whatever is appropriate
End Try
일반 Exception
을 잡기보다는 IOException
을 발견했습니다. 이 때문에이 예외가 발생거야 documentationFile.Delete
에 대한 상태 때
The specified file is in use.
-or-
There is an open handle on the file, and the operating system is Windows XP or earlier. This open handle can result from enumerating directories and files. For more information, see How to: Enumerate Directories and Files.
, 그것의 더 특정한 변이의 한보다는 오히려.
또한 시도 open the file에이을 쓸 수 있고, 그 다음에 실패하면이 파일이 다른 곳에서 이미 열려있는 것을 알 수 있습니다 :
Try
System.IO.File.Open("AFileThatsInUse.doc", FileMode.Open, FileAccess.Read, FileShare.None)
Catch ex as IOException
' As before, what you do when you determine the file is in use is up to you
End Try
이 코드는 독점적으로 파일을 열려고 시도, 다른 그렇다면 프로세스가 이미 파일을 열었 으면 실패하고 IOException
가 표시됩니다.
정보에 감사하지만이 점은 마음에 들지 않습니다. 그래서, 또 다른 방법이 있습니다. 내가 사용하고 있는지 확인하고 싶습니다. – zanhtet
@ zanhtet, VB.net으로 코드를 변환했는데 vb.net이라는 질문에 태그를 추가했음을 기억했습니다. 필자가 대답 한 바에 따르면 파일을 삭제하기 전에 사용 중인지 확실하게 확인할 수있는 확실한 방법은 없지만 * checking *과 * deleting * 사이에서 바뀔 수 있으므로' File.Open' 메서드를 호출합니다. – Rob
답장을 보내 주셔서 감사합니다. 하지만 try catch 예외를 사용하고 싶지 않습니다. 그래서 "if"를 사용하여 확인하고 싶습니다. – zanhtet
- 1. 시리얼 포트가 .net에서 사용되는지 여부를 감지하는 방법
- 2. 알 수있는 방법 응용 프로그램을 구입 여부를
- 3. MySQL : 어떤 설정 파일이 사용되는지 어떻게 알 수 있습니까?
- 4. glibc가 사용되는지 확인하는 방법
- 5. 무비 클립이 어디에 사용되는지 알 수있는 방법이 있습니까?
- 6. ASP.NET에서 어떤 개체가 세션에 사용되는지 확인하십시오.
- 7. 실행 파일이 점진적으로 링크되었는지 여부를 어떻게 알 수 있습니까?
- 8. 사용되는 크기 조정 핸들을 알 수있는 방법.
- 9. 어느 파일이 수은 수정 버전에서 다른지 빨리 알 수있는 방법
- 10. 웹보기가 완료되었음을 알 수있는 방법
- 11. ASP.Net에서 현재 업로드중인 파일이 있는지 어떻게 알 수 있습니까?
- 12. vimscript : 특정 파일이 있는지 여부를 감지하는 방법
- 13. 미디어 파일이 지원되는지 여부를 확인하는 방법, android
- 14. .pem 파일이 올바른지 여부를 확인하는 방법
- 15. .htaccess 파일이 filezilla에서 사라 집니까? 파일이 있는지 여부를 확인하는 방법?
- 16. 사용자 오픈 메일 여부를 알 수있는 방법이 있습니까?
- 17. 사용자가 UAC 대화 상자를 열지 여부를 알 수있는 방법이 있습니까
- 18. 연결된 장치가 특정 장치인지 여부를 알 수있는 방법이 있습니까?
- 19. 행 이동시기 알 수있는 방법
- 20. WINDOW.LOCATION로드 URL을 알 수있는 방법
- 21. 클라이언트가 살아 있는지 알 수있는 방법
- 22. hdfs 셸 명령을 사용하여 파일이 존재하는지 여부를 확인하는 방법
- 23. 모델이 Rake에서 사용되는지 알아 보는 방법?
- 24. 실행 파일이 마지막으로 실행 된시기를 알 수있는 방법이 있습니까?
- 25. getimagesize()를 사용하여 파일이 이미지인지 여부를 확인하십시오.
- 26. PNG 이미지 파일이 투명 이미지인지 여부를 감지합니까?
- 27. 파일이 브라우저에 제공되었는지 여부를 감지 하시겠습니까? .. kinda
- 28. aspx 페이지로 리디렉션되었는지 여부를 알 수 있습니까?
- 29. 프로그램은 ClickOnce인지 여부를 어떻게 알 수 있습니까?
- 30. 종속성 워커는 모듈의 어떤 기능이 사용되는지 어떻게 알 수 있습니까?
오류 :이 파일은 사용하고 있습니다. (asp.net) –
"asp.net 응용 프로그램에서 파일을 다른 프로세스에서 사용하고 있는지 어떻게 알 수 있습니까?" =) – Rob
나는 영어가 아마 당신이 모국어가 아니지만 당신이 질문하는 의미로는별로 의미가 없다고 생각합니다. 파일이 asp.net 응용 프로그램의 일부인지 또는 파일이 asp.net 응용 프로그램에 의해 액세스되고 있는지 여부를 알 수 있는지 묻는 있습니까? –