2012-01-16 8 views
0

두 개의 문자열이 있습니다. 예 : "사과"및 "뉴턴". 별도로 gzip을 사용하여 압축 한 다음 gzip으로 압축 된 문자열을 결합하여 파일에 저장합니다. 그런 다음 파일의 내용을 검색합니다. 전체 문자열을 압축 해제하면 정확한 결과를 얻습니다. 하지만 각 gzipped String의 EOF를 찾고 싶습니다. 이것이 가능한가.자바 - 두 개의 gzip 문자열

큰 정크 데이터를 저장해야하기 때문에 필요합니다. 버퍼 크기를 사용하여 검색합니다. 직접 압축을 풀려고하면 EOFException이 발생합니다. EOF를받을 수 있다면 원하지 않는 부분을자를 수 있고 필요한 내용의 압축을 풀 수 있습니다.

답변

3

두 문자열을 결합하기 전에 구분 문자를 사용하십시오 (예 : 공백 또는 쉼표). 각 문자열.

당신이 함께 전체 문자열을 압축 해제 할 때, 당신이 "사과, 뉴턴"와 같은 결과를 얻을 것이다

지금 개별 문자열을 얻을 수 split() method of String 클래스를 사용합니다.

String[] strings = totalString.split("," , 0); 
+0

나는 이것을 시험해 보았다. 그러나 그것과 비슷한 것은 그것을 할 수있는 다른 방법이 있습니다. – PrabhaT

0

"apple", "newton"을 별도의 두 String 객체로 저장할 수 있으며 다른 객체와 함께이 두 객체를 구분할 수 있습니다. 객체를 읽을 때 어떤 객체 유형을 비교할 수 있습니다. 이렇게하면 구분 기호 개체를 쉽게 찾을 수 있습니다.

0

인플레이터에는 경계에서 멈추는 isFinished() 메소드가 있습니다. 기본적으로 GzipinputStream을 확장하고 인플레이터 객체를 가져 오는 클래스를 작성했습니다. 완성 된 부분 스트림이있을 때마다 finished는 true를 반환합니다. 당신은 거기에서 계속 독서하거나 멈출 수있다.

관련 문제