아이티클래스

메인이미지

 

자바 파일 압축 및 해제 자바 한글깨짐 현상 ( commons-compress 사용 )

 

오늘은 몇일동안 고생하면서 애를 먹인 자바 파일(폴더) 압축시 한글이 깨지는 현상에 대해서 포스팅을 해볼까 합니다.

 

다른 블로그의 글을 찾아보고 하라는대로 해봤지만 좀처럼 쉬운게 하나도 없었습니다.

 

그래서 제가 쉽게 설명해 보겠습니다.

 

아 맞다.

 

시작 전에 컴퓨터의 자바 버전을 확인하기 바랍니다. ( cmd 창에서 java - version 으로 확인 )

 

제 로컬 PC 자바 버전이 1.5였는데 지원이 안되서 1.6으로 상향 했습니다. (자바 버전 1.5에서도 됩니다)

 

java 1.5 버전 commons-compress 1.8 지원안함

java 1.6 버전 commons-compress 1.8 지원

java 1.7 버전 commons-compress 2.0 지원

 

* 수정 java 1.5 버전 commons-compress 1.8 지원함 ( common-io 2.4를 지원안함 ) 

 

 

한글깨짐이미지

 자바에서 제공해주는 java.util.zip.ZipEntry 를 사용할 경우 test.zip 안의 한글 파일명이 깨지는 것을 확인 할 수 있습니다.

 


 

한글정상이미지

아파치에서 제공해주는 org.apache.commons.compress.archivers.zip.ZipArchiveEntry 를 사용할 경우 test.zip 안의 한글 파일명이 정상적으로 보이는 것을 확인 할 수 있습니다.

 


 

먼저 commons-compress-1.8.jar, commons-io-2.4.jar 를 다운 받습니다.

 

개발자 여러분들을 위해서 파일을 올려 놓았습니다.

 

물론 안전합니다.

 

불안하시면 직접 아파치 사이트에서 다운 받으시면 됩니다. ( 찾기 힘드실꺼에요 ㅋㅋ )

 

commons-compress-1.8.jar
0.35MB
commons-io-2.4.jar
0.18MB

 

다운받고 나서부터 시작입니다.

 

이 jar 파일들을 이클립스 어디에 올려놓고 어떻게 사용하는지 알아야 파일을 압축 할 것 아닙니까?

 


 

인스톨위치

 

전자정부 프레임워크에서 메이븐을 사용할 경우 위치입니다.

 

c드라이브 > 프로젝트명(framework) > bin > maven > install 위치에 jar파일을 복사합니다.

 


 

메이븐실행

cmd 창을 엽니다.

 

maven에서 jar 파일을 Build를 할겁니다.

 

c드라이브 > framwork > bin > apche-maven-2.2.1 > bin 폴더로 이동합니다.

 

빌드 명령어를 실행합니다.

 

mvn install:install-file -DgroupId=org.apache.commons -DartifactId=commons-compress 
-Dversion=1.8 -Dpackaging=jar -Dfile=C:\framework\bin\maven\install\commons-compress-1.8.jar

메이븐빌드명령어.txt
0.00MB

메이븐 빌드 명령어를 첨부하였으니 다운 받아서 사용하시면 됩니다.

 

commons-compress-1.8.jar, commons-io-2.4.jar 두가지 명령어 입니다.

 


jar 파일들 빌드가 끝났다면

 

이클립스의 pom.xml 을 수정해야 합니다.

 

<dependency>

 <groupId>org.apache.commons</groupId>

 <artifactId>commons-compress</artifactId>

 <version>1.8</version>

</dependency>

<dependency>

 <groupId>commons-io</groupId>

 <artifactId>commons-io</artifactId>

 <version>2.4</version>

</dependency>

POM에 추가.txt
0.00MB

 

처음부터 지금까지의 과정이 다 끝났다면

 

이클립스 was 프로젝트 > 오른쪽마우스 > Run As > Maven build 실행

 

메이븐 빌드가 다 끝나고 나면 성공이라는 메세지를 확인 할 수 있습니다.

 


 

이클립스위치

Maven Dependencies에 jar 파일 두개가 포함되있는 것을 확인 할 수 있습니다.

 

이것으로 설정은 끝났습니다.

 


//압축을 원하는 위치에서 CompressUtil 메소드 호출
//c드라이브 test폴더의 내용을 압축하여 c드라이브 test.zip으로 압축
CompressUtil.makZipFile(new File("c:\test"), new File("c:\test.zip"));

여러분의 편의를 위해 CompressUtil 파일도 첨부하겠습니다.

CompressUtil.java
0.00MB


 

commons-compress-1.20.jar
0.60MB

commons-compress-1.20.jar 파일도 첨부해 봅니다.

 

 

제가 작성한 글이 도움이 되셨다면 ♥공감을 꾹 눌러주세요

 

도움이 필요한 내용이 있으시다면 댓글도 남겨주세요

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band