자바로 ZIP 압축 시 주의할 점

Programming/Java Programming
2009/07/25 15:51, Posted by ScottRhee

본 글은 losttype이 발행한 글이나, 저의 블로그 관리조작 실수로 데이터가 소실되어 백업본을 올림을 밝힙니다. losttype이 교정을 봐줄 겁니다~ 아니면 아예 다시 올려주든지요. 미안^^;; 

자바 표준 라이브러리로 zip압축을 생성할 때 주의할 점중 하나가
압축될 화일의 생성시간이 갱신된다는 점이다.

아마도 내가 짰던 소스가 문제였었는지도 모르겠지만,
일단, 잊지 말자는 의미에서 적어두면

ZipOutputStream의putNextEntry라는 메소드의 소스를 보면

public void putNextEntry(ZipEntry zipentry)
        throws IOException
{
...
        if(zipentry.time == -1L)
            zipentry.setTime(System.currentTimeMillis());
...

위와 같은 부분이 있는데 zipentry에 지정된 시간이 없으면
현재시간으로 설정해버린다는 내용이다.

즉 화일을 압축하기전에 미리 시간을 지정해두지 않으면, 갱신되어버리므로,
화일의 내용은 같으나, 생성시간이 다른 화일이 생성되어버리므로 주의하자.

'Programming > Java Programming' 카테고리의 다른 글

오브젝트를 사용하자!! ^^;  (2) 2009/07/27
자바로 ZIP 압축 시 주의할 점  (2) 2009/07/25
Trackback 0 : Comments 2
  1. ScottRhee 2009/07/25 16:06 Modify/Delete Reply

    신기한데. 왜 저렇게 되어있는거지? 굳이 저럴만한 이유가 있나..
    그리고 글 수정 부탁ㅠ.ㅠ 원래 몇가지 코멘트가 더 되어있었던걸로 기억하는데
    내 조작 실수로 날아가버렸다 ㅠ.ㅠ 미안

  2. losttype 2009/07/25 16:26 Modify/Delete Reply

    ^^;
    이유는 잘 모르겠지만, 저렇게 되어있더라고...소스를 봐도 그렇고
    Java Doc를 봐도 생성시간을 설정하라고 나오고 ^^;
    내용은 저게 전부이고, 이곳에 올리기에는 말투가 좀 이상하길래
    수정했을 뿐이라는 ^^;

COMMENT


         

◀ PREV : [1] : ... [23] : [24] : [25] : [26] : [27] : [28] : [29] : [30] : [31] : ... [35] : NEXT ▶