2014-08-29 4 views
0

JAVA에서 unix 명령을 사용하여 지퍼를 사용해야합니다.Runtime(). getRuntime(). exec()을 사용하여 zip 명령을 사용하는 방법 (JAVA의 디렉토리 폴더 제외)?

하지만 JAVA에서는 CD 명령을 사용할 수 없습니다. 코드 아래

: 나는 위의 코드를 사용하는 경우

String command = "zip -0Xq /Users/tmdtjq/Downloads/PDFTest/test/test.zip /Users/tmdtjq/Downloads/PDFTest/test/mimetype"; 

    Runtime rt = Runtime.getRuntime(); 

    rt.exec(command); 

, 마임 파일 디렉토리 폴더에 압축됩니다 "/ 사용자/tmdtjq/다운로드/PDFTest/테스트 /" .

하지만 mimetype 파일 만 압축하려고합니다.

ZIP에 관한 자바 라이브러리를 사용할 수 없습니다. 나는 epub 파일을 만들려고하기 때문에, 나는 zip 명령 "zip -0Xq"과 "zip -Xr9Dq"를 사용하여 epub3 파일을 만들어야합니다.

당신은 디렉토리 폴더를 제외하고 JAVA에서 exec()를 사용하여 zip 명령을 사용하는 방법을 제안 할 수 있습니까?

또는 epub 형식으로 압축하는 다른 방법이있는 경우 mimetype을 epub 형식으로 압축 할 수있는 Zip 라이브러리를 소개 하시겠습니까? 당신이 ProcessBuilder를 사용하는 경우

this is zipping form using above code

+0

당신도 자바 우편 라이브러리를 사용할 수 있습니다! http://docs.oracle.com/javase/7/docs/api/java/util/zip/package-summary.html –

답변

0

대신에 당신은 당신이 대신 CWD 설정 directory를 사용할 수 있습니다.

+0

답변을 주셔서 감사합니다. 질문에 하나 더 대답하십시오. ProcessBilder 매개 변수에 '*'을 삽입하려고합니다. 그것은 효과가있다. 예 : zip -0Xq test.epub mimetype 그러나 작동하지 않습니다. 예 : command = zip -Xr9D test.epub * – TPS1