2013-07-25 3 views
1

나는 분명히 .zip 파일을 열고 그 내용을 .jar 파일 (Minecraft modding 용 minecraft.jar)로 추출하는 프로그램을 만들려고 노력했지만 Java에서 .jar 파일을 여는 방법을 찾지 못했습니다. .jar 파일을 열고 (실행 중이 아님) .jar 파일 내에 파일을 추가/삭제할 수 있습니까?자바에서 .jar 파일을 여는 방법

+4

jar와 zip은 같은 파일 유형입니다. ;) – Breavyn

+3

[java.util.jar] (http://docs.oracle.com/javase/7/docs/api/java/util/jar/package-summary.html) 패키지를 참조하십시오. 더 나은 유니 코드 항목 지원이 있으므로 zip 패키지로 사용하십시오. – McDowell

+0

@ ColinGillespie 번호 JAR은 ZIP을 사용하여 압축되었지만 동일한 파일 유형이 아닙니다. Java에는 JAR을 조작하는 고유의 메소드가 있습니다. 일반적인 ZIP 파일로 처리 할 필요가 없습니다. – m0skit0

답변

1

먼저 @McDowell 주석은 솔루션의 루트입니다. java.util.jar 패키지는 필요한 도구를 찾을 수있는 곳입니다.

두 번째로 JAR 파일의 내용을 즉시 수정할 수는 있지만 복잡하고 오히려 많은 작업이 필요합니다. 두 파일 (ZIP 파일과 JAR 파일을 올바르게 이해할 수있는 경우)을 열고, 임시 디렉토리에서 파일을 추출한 다음, 전체 파일을 다시 압축하는 것이 목적으로는 충분하지 않습니까?

내게있어 결과가 정확히 무엇인지 찾고있는 것 같습니다. 실행하는 데 약간의 시간이 걸릴 수도 있지만 일회성이므로 중요한 문제라고 생각하지 않습니다.

+0

@Nicholas 그래, 작동 할 것 같은데. Jar 파일의 모든 내용을 가져 오려면 JarInputStream 또는 JarFile을 사용해야합니까? 편집 : 그냥 JAR 쓸 수 JarOutputStream 사용할 수 없습니다? – n1ghtk1n9

+0

'JarInputStream'과'JarFile'은 매우 유사하다고 생각합니다. 대부분 여러분에게 달렸습니다 :'File' 또는'InputStream'을 사용하고 있습니까? 'File'이라면,'JarFile'에 갈 것입니다. 'JarOutputStream'에 관해서는, 기존 JAR 파일에 항목을 추가하는 것을 지원하지 않는다고 생각합니다. 기존 파일을 수정하지 않고 전체 파일을 작성하는 데 사용합니다. 그래도 내가 틀렸을 때를 대비하여 확인하고 싶을 수도 있습니다. –