다른 tar 유틸리티 (예 : UNIX tar 명령)가 tar을 추출 할 수 있는지 확인하려면 Java에서 tar 파일의 유효성을 검사 할 수 있습니까? 코드에서이 작업을 수행하고 싶습니다. 내 응용 프로그램에서 실제로 tar -tf
을 실행하고 리턴 코드를 기반으로보고해야합니다.Java : TAR 파일 유효성 확인
나는 아파치 commons 압축을 사용하여 tars 항목을 읽어 들여 압축을 풀지 않았습니다. "손상된"tar 파일을 나타내는 텍스트 편집기를 사용하여 일부 tar를 수동으로 수정했습니다. 커먼즈 압축은 내가 수정 한 내용에 상관없이 UNIX tar 명령이나 7zip이 일관되게 실패한 항목을 읽지 못하는 것은 아닙니다. 실제로 tar 파일이 손상되지 않았 음을 보장하기 위해 더 많은 작업이 필요하지만 실제로 무엇입니까?
참고 : 나는 유효성 검사의 수단으로 commons compress를 통해 타르를 추출하려고 실제로 시도하지 않았습니다. 나는 이것이 정말로 옵션이라고 생각하지 않는다. 필자가 작업해야하는 tar 파일 크기가 크고 (3 ~ 4 기가),이 프로세스가 이미 수행 한 것보다 오래 걸리는 것을 보지 않을 것입니다.