gzip 형식으로 압축 된 webservice xml 파일에서 받고 있습니다. XML의 원래 크기는 약 80Mb이고, 압축 된 버전은 약 10Mb입니다. 이 xml 파일은 캐시에 저장됩니다.압축 해제하지 않고 gzip 파일의 내용 바꾸기
xml 루트에는 8 자리 고유 ID를 나타내는 특성이 들어 있습니다. 따라서 캐시에서 응답을 제공 할 때 xml을 최종 사용자에게 반환하기 전에 다른 웹 서비스에서받은 ID로이 ID를 변경해야합니다.
따라서, 과정은 다음과 같아야합니다
- 가 캐시 XML 압축을 해제합니다.
- 캐시 된 ID를 웹 서비스에서받은 ID로 바꿉니다.
- 파일을 다시 압축하여 클라이언트로 반환하십시오.
이것은 자바 소프트웨어입니다. 전체 문서의 압축을 풀고 다시 압축하지 않고이 대체 작업을 수행 할 수있는 선택의 여지가 있는지 궁금합니다. 부분적으로 읽고 쓰는 어떤 종류의 ... 나는 모른다.
나는 이것을 할 수있는 몇 가지 자바 라이브러리를 찾고 있었지만 아무 것도 찾지 못했습니다. 어쩌면 가능하지 않기 때문일 수도 있습니다.
아이디어가 있으십니까? 감사.
압축 해제, 교체 및 다시 압축 할 코드를 표시 할 수 있습니까? 개선의 여지가있을 수 있습니다. –
아직 코딩되지 않았지만 아이디어는 다음과 같습니다. 1. gzipinputstream을 사용하여 압축되지 않은 문서로 바이트 []를 만듭니다. 2. 8 자리의 바이트를 바이트 단위로 바꿉니다 (임시 복사본은 사용하지 않음). 3. gzipoutputstream을 사용하여이 바이트 []를 압축합니다. – JBalaguero