2010-08-23 6 views
0

그래서 jar 파일이 있고이 jar 파일에는 config.js 파일이 있고이 파일에는 쓰기를 원합니다. 이 리소스 (org.springframework.core.io.Resource)의 리소스 클래스가 있으므로이 리소스에서 전체 URL 또는 getFile()을 얻을 수 있습니다. 이 같은 URL 모양의 :이 파일 시스템에 상주하지 않기 때문에 절대 파일 경로로 해결 될 수없는 : 나는 예외가 자원에서 대해서 getFile()하려고하면jar 파일 변경

jar:file:/Users/admin/.m2/repository/code/1.1-SNAPSHOT/code-1.1-SNAPSHOT.jar!/META-INF/config.js 

porblem가있다. 그러면 jar 파일에서이 파일에 어떻게 쓸 수 있습니까? :)

답변

1

병에 ZipStreams을 사용할 수 있으며 그곳에서 항아리를 취급 할 수 있습니다. /Users/admin/.m2/repository/code/1.1-SNAPSHOT/code- : 직접 항아리를 처리하는 가장 좋은 방법은 내가에서 먼저 JarFile를 파일을 만드는 것보다, ZipFile 또는 더 나은 JarFile

+0

흠을 사용하는 것입니다 1.1-SNAPSHOT.jar 그리고 나서이 jar 파일에서 getEntity /META-INF/config.js를 수정 하시겠습니까? –

+0

당신은 아무것도 만들 필요가 없다. 당신은'new JarFile (pathToJar)'와 jar 파일을 열고 나서'getEntry (yourFile)'를 사용한다. –

+0

그리고이 항목으로 무엇을 할 수 있습니까? 어떻게 쓸 수 있습니까? –

0

java.util.zipjava.util.jar의 api를 사용하십시오.
올바르게 기억하면 "인라인"파일을 수정하고 저장하거나 외부에서 수정하고 임시 파일에 저장 한 다음 임시 파일을 다시 병으로 밀어 넣을 수 있습니다.