2017-04-05 7 views
-1

FileSystemWatcher 클래스에 복사 이벤트가없는 것 같습니다.FileSystemWatcher 이벤트 복사

어떻게 사본을 감지 할 수 있습니까?

현재 감시 된 폴더 내에서 모든 MD5 체크섬을 인덱싱했습니다. 중복 된 MD5에 대해 각 Create 이벤트에 대해 인덱스의 선형 검색을 실행해야합니까?

+0

일부 코드가 도움이됩니다. 무엇을 이미 시도 했습니까? 코드를 보자. –

+0

코드가이 질문에 정말로 적절한가요? 코드보다는 논리적 인 문제입니다. – Tobiq

+0

복사본은 단순히 폴더에 새 파일을 만드는 것입니다. 그것은 아무것도 아니기 때문에 사본을 검색하기 위해서는 생성을 대신 처리해야합니다. 복사 또는 새 파일 작업인지 여부를 결정하는 방법은 정보로 수행해야하는 작업과 그 차이에 대한 중요성에 따라 다릅니다. –

답변

0

FileSystemWatcher 클래스는 로우 레벨 입력을받습니다. 따라서 복사 작업 & 이동 작업의 경우 Create이 붙어 있습니다.

해시를 만들고이를 비교하면 아마도 복사본을 검색 할 수있는 유일한 방법입니다.

아쉽게도 하나 또는 여러 개의 파일이 변경 될 때 상대적으로 높은 CPU/드라이브 리소스 비용과 같은 몇 가지 주요 단점이 있습니다. 이후 파일 변경 사항을 모니터링하고 해시를 최신 상태로 유지해야합니다. 대용량 파일에 대해 생각해보십시오. 해시를 계산하는 데 다소 시간이 걸릴 수 있습니다. 해시 업데이트를 계산해야하는 동안 복사 작업이 완료되면 어떻게 될까요? 그 시점에서 당신은 하나도 인식하지 못하는 야생에 사본이 있습니다.