나는 열려있는 다른 프로그램에서 사용하고 로그 파일을 가지고 있고, 나는 그것이와 내용의 읽을 다음은에 의해 사용에있는 동안이 파일에서 텍스트를 읽기 위해 작동다른 프로세스에서 사용중인 텍스트 파일을 덮어 씁니까?
Dim strContents As String
Dim x As New FileStream(FullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
Dim objReader As StreamReader
objReader = New StreamReader(x)
strContents = objReader.ReadToEnd()
objReader.Close()
다른 프로그램, 그러나,이 바로 뒤에 나는 빈 텍스트가되도록 텍스트 파일을 자르지 않아도된다. 그러나 파일은 여전히 다른 프로그램에서 사용 중입니다.
나는Dim sWrite As StreamWriter
sWrite = New System.IO.StreamWriter(FullPath, False)
sWrite.Write("")
sWrite.Close()
을 시도하지만 난 "다른 응용 프로그램에서 사용"예외를 얻을. I에 유래에보고 인터넷 검색을 해봤지만 내가 답변을 찾을 수없는 것, 그리고 나도 filestreams이 할 수있는 방법을 찾을 수없는, 또는 나는에
Dim fs As New FileStream(FullPath, FileMode.Open, FileAccess.Write, FileShare.ReadWrite)
감사를 사용하려고 것 전진.
로그 파일에 기록하는 예약 된 프로세스가 있습니다. 누군가가 서버에 로그인하고 해당 로그 파일을 선택한 상태에서 파일 탐색기를 열어두면 예약 된 프로세스가이 예외를 가져 와서 실행되지 않거나 로그 파일에 쓸 수 없습니다. 그래서 성가신. 파일 탐색기는 파일을 열고 미리보기를 표시하고 닫아야합니다. 그러나 아니요, 파일이 선택되어있는 한 파일을 열어 둡니다. 나는 예정된 과정에서 파일 탐색기를 죽일 수 없다. 그렇게하면 나쁜 문제가 생긴다. – Shavais