파일 시스템에 파일이 올바르게 기록되는지 확인하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/14726901

  •  07-03-2022
  •  | 
  •  

문제

나는 zip 아카이브에서 파일을 읽고 파일 시스템에서 파일에 저장하는 응용 프로그램을 hava합니다. 파일 시스템에 쓰는 후 i가 즉시 시작 하여이 파일을 SAX2 리더로 읽습니다. 더 큰 파일 (300 + MB)에서는 밝지 않은 태그로 인해 SAX2가 파싱을 중지하는 경우가 있습니다. 그러나 파일을 확인하십시오 (또는 나중에 다시 읽으려고 시도하십시오). 그래서 파일이 괜찮습니다.

FZipKit.ExtractToStream(LFileName, LStream);
LStream.SaveToFile(OutputFilename);
SAX2.processUrl(OutputFilename);

구문 분석 프로세스를 시작할 때 파일이 아직 파일 시스템에 완전히 작성되지 않았 음을 가정합니다.

파일이 쓰여지거나 증기가 파일 시스템으로 플러시되었는지 확인하는 방법이 있습니까?

고마워

도움이 되었습니까?

해결책

먼저 XML 파서가 올바르게 작동한다고 가정합니다. 파일을 읽을 수없는 경우 해결책은 분명합니다.

우리가 파일을 생성하는 방법을 살펴 봅니다. Savetofile을 호출하면 파일이 열리고 기록 된 닫힘 및 버퍼가 플러시됩니다. 일반 바닐라 시스템에서 XML 파서는 파일의 전체 내용을 볼 수 있습니다. 유일한 결론은 무언가가 간섭하는 것입니다. 가장 유사한 용의자는 바이러스 스캐너입니다. 가장 존경받는 사람들이라는 많은 스캐너는 폐쇄중인 파일을 적절하게 처리 한 다음 즉시 다시 열 수 없습니다.

최종선은 코드가 괜찮고 문제가 거의 분명히 귀하의 지역 환경에 거의 거짓이된다는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top