Помогите, пожалуйста, люди добрые! Пишу от безысходности! Archiver (16)

В задаче нужно написать метод для удаления файлов из zip архива. Испробовал минимум сотню вариантов, но все, как один, не проходят по пункту! Метод removeFiles должен записывать в новый архив все файлы из старого архива, кроме тех, которые в списке на удаление. Затем, заменить старый архив новым! Но я это и делаю! Вот один из вариантов:
public void removeFiles(ListpathList) throws Exception {
if (!Files.isRegularFile(zipFile))
throw new WrongZipFileException();
Path templ = Files.createTempFile(null, null);
try (ZipInputStream zipInputStream = new ZipInputStream(Files.newInputStream(zipFile)); ZipOutputStream result = new ZipOutputStream(Files.newOutputStream(templ))) {
ZipEntry zipEntry = zipInputStream.getNextEntry();
while (zipEntry != null) {
String fileFullName = zipEntry.getName();
Path path = Paths.get(fileFullName);
if (pathList.contains(path))
ConsoleHelper.writeMessage(«мы удалили файл » + zipEntry.getName());
else {
if (zipEntry.isDirectory()) {

}
else
addNewZipEntry(result, path.getParent(), path.getFileName()); //метод создает новый ZipEntry
}
zipEntry = zipInputStream.getNextEntry();
}
}
Files.move(templ, zipFile, StandardCopyOption.REPLACE_EXISTING);
}
Смирено прошу вашей помощи! Пожалуйста…

Комментариев нет

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.