сначала я должен сказать, что я уже смотрел в internet/stackoverflow, но решения не работали для меня, потому что я новичок в Java и не понимаю слишком сложного кода.
Я хочу удалить запись (папку) внутри файла *.jar. Есть ли простой способ справиться с этим, например:
ZipEntry entry = new ZipEntry("path\\File.jar\\Folder");
entry.delete();
Если его невозможно удалить ZipEntry, как я могу переименовать папку внутри файла *.jar?
С наилучшими пожеланиями
Я боюсь, что нет способа удалить или переименовать ZipEntry внутри ZipFile. Вам нужно будет создать новый ZipFile, скопируйте ZipEntries ommiting, который вы хотите удалить.
Вы сможете достичь этого, используя 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
}