起初我不得不说,我已经查看了internet / stackoverflow,但解决方案对我来说没有用,因为我是Java的新手并且不懂太复杂的代码。
我想删除* .jar文件中的条目(文件夹)。 有没有一种简单的方法来处理这个问题,例如:
ZipEntry entry = new ZipEntry("path\\File.jar\\Folder");
entry.delete();
如果无法删除ZipEntry,如何在* .jar文件中重命名文件夹?
祝你好运
答案 0 :(得分:2)
我担心在ZipFile中没有删除或重命名ZipEntry的方法。您必须创建一个新的ZipFile,复制ZipEntries,省略您要删除的ZipEntries。
答案 1 :(得分:1)
您将能够使用Java 7实现此目的:Zip FileSystem
Map<String, String> env = new HashMap<>();
env.put("create", "false");
URI uri = URI.create("jar:file:///C:/codeSamples/zipfs/zipfstest.zip"); // Zip file path
try (FileSystem zipfs = FileSystems.newFileSystem(uri, env)) {
Files.delete(zipfs.getPath("/SomeTextFile.txt")); // File inside zip to delete
}