이것은 이론적 인 질문 일 수 있습니다. 나는 큰 파일 (~ 22GB)로 압축이 풀리는 압축 파일 (~ 2GB)이있는 시나리오를 가지고 있습니다. 이 프로세스는 대략 20 분이 걸리며, 이는 다시이 프로세스가 실행될 때마다 약 19 분 59 초를 낭비한다는 것을 의미합니다. 내 질문은 다음과 같습니다 : 압축 해제되는 파일에서 스트림을 열고 데이터를 조작 할 별도의 프로그램으로 정보를 전달할 수 있습니까? 본질적으로 파일의 모든 라인은 레코드이지만 압축 해제 중에 라인이 완전히 디코딩 된 것을 발견하는 기술을 찾을 수 없었습니다. 일반적인 알고리즘이나 Java 라이브러리는 가치가 있습니다.작업자 풀로 전달할 파일 압축 풀기 중 스트림을 열 때 적절한 시간
2
A
답변
3
java.util.zip
의 GZIPInputStream
을 사용하여 gzip 파일을 순차적으로 읽을 수 있습니다. 그런 다음 버퍼링을 직접 구현하고 행을 추출하거나 readLine
메서드와 함께 BufferedReader
을 사용할 수 있습니다.
3
네, 쉽습니다. 유닉스에서는
bzcat compressedfile.bz2 | mainprogram
이 그런 다음 메인 프로 그램이 표준 입력에 압축 해제 스트림을 읽을 수 있습니다 할 수 있습니다. 유사한 명령 행 프로그램이 zip 및 gzip 용으로 존재합니다.
주 프로그램이 표준 입력 대신 파일에서 읽어야하는 경우 named pipe을 사용하십시오.
Windows 사용자는 유사한 도구 일 수도 있고 없을 수도 있습니다.
관련 문제
- 1. JUnrar로 파일 압축 풀기
- 2. 자동 압축 풀기 RAR 파일
- 3. 동시에 스트림 압축 풀기
- 4. Sharepoint 2010의 압축 풀기
- 5. iPhone에서 rar 압축 풀기
- 6. C에서 폴더 압축 및 압축 풀기 #
- 7. 파일/폴더 구조 만들기 및 압축 풀기?
- 8. 확장명에 의존하지 않고 PHP로 압축 파일 풀기/
- 9. 자바에서 자체 추출 압축 풀기
- 10. 하스켈에서 GZip 압축 풀기
- 11. 현재 요청을 긁어서 압축 풀기
- 12. PHP의 비트 단위로 압축 풀기
- 13. Java.util.zip.Inflater를 사용하여 문자열 압축 풀기
- 14. 자동 압축 풀기 기능을 구현 하시겠습니까?
- 15. FPDF 오류 : 스트림 압축 풀기 중 오류가 발생했습니다.
- 16. war 내부에 어셈블리 압축 풀기
- 17. 임시 파일없이 NSData 압축 풀기
- 18. 인수를 취하는 zip 압축 풀기
- 19. iis에서 svg 압축 풀기 활성화
- 20. Vala 압축 풀기 gzip 데이터
- 21. TeamCity자가 인공 지문으로 압축 풀기
- 22. 오류 -3 데이터 압축 풀기 중 : 잘못된 헤더 검사
- 23. izip 내의 izip : 압축 풀기 발전기?
- 24. 메서드간에 데이터를 전달할 때 적절한 방법
- 25. Python 작업자 풀로 동시 변수 쓰기를 처리하는 방법
- 26. 자바 런타임을 사용하여 특정 경로에 jar 파일 압축 풀기
- 27. beautifullsoup와 python을 사용하여 웹 사이트/파일에서 .js 파일 압축 풀기
- 28. zlib 버전 1.1.3을 사용하여 메모리에 gzip 파일 압축 풀기
- 29. PHP LZW 바이너리 압축 풀기 기능
- 30. 파이썬 2에서 확장 튜플 압축 풀기
질문이별로 없습니다. "감압 중에 라인이 완전히 디코딩 된 것을 발견하는 기술을 찾을 수 없었습니다"라는 것은 무엇을 의미합니까? 압축을 풀면 분명히 압축 해제 된 데이터를 얻게됩니다. 따라서 데이터 구조를 알면 레코드가 끝나는 시점을 알 수 있습니다. 또한 나는 "이 프로세스가 실행될 때마다 약 19 분 59 초를 낭비하고있다"는 것을 이해하지 못합니다. 즉, 22 GB의 단일 레코드를 처리하려고 할 때마다 응용 프로그램이 22 GB를 디코딩하는 것입니까? –
@MarkAdler 아니요 단일 레코드를 찾기 위해 압축을 풀고 있지 않습니다.이 프로세스는 몇 시간마다 새로운 데이터로 실행됩니다. 내가 가진 혼란은 감압이 맨 아래로 내려가는가, 아니면 데이터가 무작위로 나오는 곳을 찾는 일종의 일을하는 것인가? – Woot4Moo
압축 풀기는 처음부터 끝까지 순차적으로 작동합니다. 당신이하고 싶은 것이 정확히 무엇입니까? 중간에있는 일부 데이터에 액세스하고 싶습니까? –