如何使用Runtime()。getRuntime()。exec()除JAVA中的目录文件夹使用zip命令?

问题描述:

我需要在JAVA中使用unix命令进行压缩。如何使用Runtime()。getRuntime()。exec()除JAVA中的目录文件夹使用zip命令?

但是在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); 

如果我使用上面的代码,MIME类型文件是压缩与目录文件夹 “/用户/ tmdtjq /下载/ PDFTest /测试/” 。

但我想压缩只是mimetype文件。

我无法使用关于ZIP的java库。因为我尝试制作epub文件,所以我必须使用zip命令“zip -0Xq”和“zip -Xr9Dq”来制作epub3文件。

你能否建议如何使用zip命令在JAVA中使用exec(),目录文件夹除外?

或者如果有其他的方式来压缩epub格式,引入Zip库可以将mimetype压缩成epub格式?

this is zipping form using above code

+0

你也可以使用java zip库! http://docs.oracle.com/javase/7/docs/api/java/util/zip/package-summary.html – 2014-08-29 04:49:15

如果使用ProcessBuilder相反,您可以使用directory设置你CWD代替。

+0

谢谢你的回答。请回答一个问题。我尝试在ProcessBilder参数中插入'*'。它的工作。例如:zip -0Xq test.epub mimetype但它不起作用。例如:command = zip -Xr9D test.epub * – TPS1 2014-08-29 03:00:24