java 7后提供了新的文件IO库,可以方便的操作zip文件,比如直接从zip文件中删除文件(应用场景:apk的重新打包)。
Path zipFilePath = Paths.get(fileDir);//fileDir为zip文件的绝对路径
FileSystem fs = FileSystems.newFileSystem(zipFilePath, null);//创建一个zip的文件系统
Path pathInZipfile = fs.getPath("/hello.text"); //在zip包中的路径
log.info("delete an entry from ZIP File" + pathInZipfile.toUri() );
Files.delete(pathInZipfile);
fs.close();
如果需要zip的打包,解压可以配合使用Apache Commons Compress库
参考: