마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

gz파일을 원하는 파일 사이즈로 생성.

0 추천
안녕하세요. 안드로이드를 공부하다가 궁금한 것이 있어서 이렇게 질문을 올립니다.

폰의 로그를 byte로 읽어 들여 gz파일로 파일을 만들어 로그를 보고 있습니다.

test프로그램에는 제가 버튼을 만들어 버튼을 누르면 전체로그를 읽고 있는데,  이런저런 테스트 중, gz파일을 스트림으로 받아 gz을 생성할 때, 제가 원하는 사이즈로 gz파일을 만드는건 어떨까 생각하였습니다.

예를들어, 제가 받은 로그 gz파일의 사이즈가 1,000KB라고 가정할 때, 제가 구상하는 것은 gz파일을 100KB씩 10개를 만드는 형태 입니다.

물론 gz으로 압축을 하는 것이므로 100KB가 정확하게 나오지는 않겠지만 적어도 100KB에 가까운 사이즈로 파일이 만들어지면 되는데, API나 구글링으로 아무리 찾아봐도 나오는 것이 없어서 이렇게 고수님들께 문의를 드려봅니다.

소스코드 루틴은,

버튼클릭 -> 로그 콜렉트 함수 실행 -> OutputStream 객체 생성 -> GZIPOutputStream 객체 생성 -> 로그 파일 정보에 쓰이는 timestamp / 각종 구분자 파일 write (GZIPOutputStream 객체의 write함수 사용, 파라미터 getBytes()) -> 실제 폰단의 로그 콜렉트 함수 실행 ->파일라인을 읽어들여 널을 만날때까지 파일에 씀.

이런식입니다만,

과연, 스트림으로 읽어들이는 데이터 원하는 사이즈까지 쓰고 gz으로 뽑아내는 것이 가능한가요?

만약 이러한 것이 가능하다면 사용가능한 API가 있는지요? gz이 아니더라도 상관없습니다.

또한, 스트림을 읽고 파일에 써서 gz파일을 하나 만들면, 그 이후 파일을 만들 때에는 또다른 객체를 생성하여 줘야 하나요? 그렇다면 생성->파일쓰기 -> close를 do~while로 사용해야 하나요?

 

고수님들의 답변을 기다립니다.

그럼 즐거운 하루 보내세요. @.@
까스 (120 포인트) 님이 2013년 3월 21일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...