2016-10-09 8 views
0

데이터를 파일에 연속적으로 쓰는 앱을 작성하는 중입니다. 프로그램을 시작하면 파일이 작성되고 기록이 시작됩니다.
그러나 Windows 탐색기를 열면 으로 인식되어 파일에 대한 액세스가 내 응용 프로그램에서 거부되고 오류가 발생합니다.
실행중인 다른 프로그램 및 사용자의 특정 파일에 대한 액세스 제한

fs = new System.IO.FileStream(location, 
           System.IO.FileMode.Open, 
           System.IO.FileAccess.Write, 
           System.IO.FileShare.ReadWrite); 

어떻게 그래서 단지 내 응용 프로그램이 액세스 할 수 있습니다이 파일이 아닌 다른 프로그램에 대한 액세스를 제한 할 수 있습니까?

+1

_ "오류가 발생했습니다."_ - 무슨 오류입니까? – MickyD

+0

정확한 오류는 기억할 수 없지만 "파일에 대한 액세스가 거부되었습니다"와 비슷합니다. –

답변

1

System.IO.FileShare.ReadWrite에서 System.IO.FileShare.None으로 마지막 매개 변수를 변경할 수 있습니다.

이 스트림이 열려있는 한 location의 파일을 독점적으로 잠그고 다른 앱이 자신의 FileStream을 제외한 해당 파일을 읽거나 수정하거나 삭제할 수 없습니다.

실제로 이것은 다른 앱에서도 마찬가지입니다. 심지어 직접 앱에서 해당 파일의 FileStream을 열 수 없습니다. 필요한만큼 오래 열어 두십시오. 사용 후에는 FileStream을 정확히 처리하는 것을 잊지 마십시오.