RESULTFOLDER 폴더를 지속적으로 폴링하고 새 파일이 있는지 확인하는 Java 스레드 A가 있습니다.
이제 파일은 다른 컴퓨터에서 실행중인 다른 프로그램에서 RESULTFOLDER에 게시됩니다. 게시 된 파일은 모든 xml 파일 (XML 만 가능)입니다. 언제든지 RESULTFOLDEr에서 xml 파일 만 저장할 수 있습니다.
내 스레드가 지속적으로 RESULTFOLDER를 폴링하고 XML 파일을 한 번에 하나씩 구문 분석 한 다음 삭제합니다.
때로는 스레드 A가 다른 프로그램이 파일 A를 게시하는 시점에 파일 A를 읽고 구문 분석하려고 시도하는 경우가 있습니다.이 경우 파일을 구문 분석하는 중에 예외가 발생합니다. 파일의 성숙이 완료되었습니다.
어떻게 문제를 해결할 수 있습니까?다른 스레드가 스레드를 생성 할 때 xml 파일을 구문 분석 할 때 파일 끝 조기 예외가 발생합니다
내가 생각하는 한 가지 방법은 파일 생성의 날짜 시간을 확인하고 파일이 적어도 1 분 정도는 presnt인지 확인하는 것입니다.하지만 자바가 그런 API를 제공한다고 생각하지 않습니다. 어떻게이 문제를 해결할 수 있습니까?
좋은 요약. 물론 나는 당신의 답을 가장 좋아합니다. 원격으로 복사 된 파일의 이름을 바꾸는 데 문제가있어서 제어 파일 방식을 선호합니다. –