두 개의 파일이 들어있는 GZIP 아카이브가 tar 유틸리티로 압축되어 있습니다. 둘 다 메모리로 추출해야합니다. 그래서 결과적으로 2 개의 byte
배열을 가져와야합니다. 그러나 GZIPInputStream
사용법의 모든 예제는 바이트를 읽고 출력 스트림에 저장하므로 결과적으로 두 개의 byte[]
배열을 얻는 방법을 모릅니다.tar.gz 파일에서 두 개의 파일을 추출하여 메모리에 넣습니다.
답변
libarchive은 필요한 것을 처리해야합니다. 여기가 무엇인지 설명하는 자신의 홈 페이지에서 발췌 한 것입니다 :
libarchive
멀티 포맷 아카이브 및 압축 라이브러리
소스 분포가 libarchive 라이브러리를 포함하고는, bsdtar 및 bsdcpio 명령 줄 프로그램, 전체 테스트 제품군 및 설명서 :
안정 버전 : libarchive-3.1.2.tar.gzlibarchive-3.1.2.zip (1월 13일 이후, 2013)
레거시 출시 :의 다양한
지원 : libarchive-2.8.5.zip
libarchive 라이브러리 기능 (2011년 9월 3일부터) 아카이브 및 압축 형식.tar.gz와 같은 아카이브/압축 조합을 포함한 강력한 자동 형식 탐지.
고성능을위한 zero-copy 내부 아키텍처.
스트리밍 아키텍처는 아카이브 크기의 모든 제한을 없애고 특정 형식에 따라 항목 크기가 제한됩니다.
프로그램이 정적으로 링크 될 때 팽창을 최소화하는 코드입니다.
새 포트의 정확성을 확인하기위한 확장 테스트 제품군.
(FreeBSD 등 리눅스, 솔라리스 등 포함) 대부분의 POSIX 계열 시스템에
작품 Cygwin에서,는 MinGW, 및 Visual Studio를 포함하여 Windows를 지원합니다.
타르를 포함한 다양한 포맷을 읽고, 인원 :
bsdtar
및bscpio
명령 줄 유틸리티는 다른 타르와 CPIO 구현과 피쳐 및 성능 경쟁력 , cpio, zip, xar, lha, ar, 택시, mtree, rar 및 ISO 이미지.tar, pax, cpio, zip, xar, ar, ISO, mtree 및 shar 아카이브를 작성합니다.
gzip, bzip2, lzip, xz, lzma 또는 compress로 압축 된 아카이브를 자동으로 처리합니다.
고유 한 형식 변환 기능.
이 링크가 질문에 대답 할 수 있지만 여기에 답변의 핵심 부분을 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. –
libarchive를 사용하기 위해 _how_에 "필수적인 부분"을 제공하고 링크가 사라지면 필수적인 부분이 쓸모 없게됩니다. 링크의 변동성을 이해하지만 링크가 사라지는 경우 응답을 개선하는 방법을 알지 못합니다. –
그건 사실이 아닙니다. 링크가 변경 될 수 있습니다. 깨진 링크는 제품이 더 이상 존재하지 않거나 쓸모 없게되었음을 의미하지 않습니다. 걱정하지 마세요, 나는 앞으로 나아가서 당신의 대답을 편집하여 홈 페이지의 모든 필수 부분을 추가하여 미래 방문자에게 libarchive가 무엇인지 설명합니다. –
- 1. MySQL에서 Blob을 추출하여 JDialog에 넣습니다.
- 2. tar.gz 파일에서 xml 읽기
- 3. 왜 두 tar.gz 파일을 모두 확장하지 않습니까?
- 4. 비디오에서 프레임을 추출하여 메모리에 저장하는 방법은 무엇입니까?
- 5. 테이블에서 시간 데이터를 추출하여 TimeSpan에 넣습니다.
- 6. 두 줄 사이의 줄을 추출하여 텍스트 파일에서 텍스트 파일 만들기
- 7. tar.gz 파일을 자바로 반복하기
- 8. perl에서 tar.gz 파일을 추출하십시오.
- 9. bash를 두 번 비교하십시오 tar.gz
- 10. 두 개의 입력 태그를 간격없이 나란히 넣습니다.
- 11. csv.DictReader는 파일을 메모리에 저장합니까?
- 12. NASM : 메모리에 저장된 두 개의 숫자 추가하기
- 13. 여러 개의 큰 파일을 메모리에 매핑하기
- 14. Python이 여러 파일의 쿼리 문자열을 추출하여 새 파일에 넣습니다.
- 15. 두 파일에서 동일한 파일을 비교하십시오.
- 16. tar.gz 파일을 확인하기위한 bash 스크립트
- 17. 펄을 사용하여 tar.gz 파일을 풀기
- 18. 이클립스에서 tar.gz 파일을 여는 방법
- 19. 우분투에서 .tar.gz 파일을 추출하는 방법
- 20. tar.gz 파일을 폴더처럼 사용 하시겠습니까?
- 21. .tar.gz 파일의 파일을 유닉스로 날짜순으로 검색하십시오.
- 22. 두 개의 YAML 파일을 동기화하십시오.
- 23. 파일에서 데이터를 검색하고 배열에 넣습니다.
- 24. 파일에서 특정 데이터를 추출하여 (일괄 처리)
- 25. 유닉스 나는 두 개의 파일을 두 개의 파일을 비교하고 라인
- 26. 신속하게 파일을 폴더에 넣습니다.
- 27. Powershell 파이프 파일 내용을 메모리에 파일을로드하지 않고 응용 프로그램에 넣습니다.
- 28. 배치 파일에서 두 개의 메모장 파일을 함께 여는 방법은 무엇입니까?
- 29. 파일에서 두 개의 사전을 만드는 동안 파일을 열어두기
- 30. 두 개의 오브젝트 파일에서 md5sum의 차이점
"내부에 두 개의 파일이있는 GZIP 아카이브가 있습니다." GZIP은 그렇게 작동하지 않습니다. 그것은 여러 파일의 개념을 가지고 있지 않습니다. 그것은 단지 압축 된 데이터입니다. –
@JonSkeet 내 실수. 질문을 업데이트했습니다. – Lingviston
tar.gz 파일 또는 tgz 파일이 실제로 있다는 것을 의미합니까? 그렇다면 추출의 gzip 부분을 타르 부분에서 분리해야합니다. gzip 파일의 압축을 풀면 tar 파일이 생기고 두 파일을 얻을 수 있습니다. –