В общем решал вот так: public class Solution { public static void writeZipEntriesToFile(String zipFileName, String outputFileName) { Charset charset = StandardCharsets.UTF_8; Path outputFilePath = Paths.get(outputFileName); //BufferedWriter writer = null; //ZipFile zip = null; try( BufferedWriter writer=Files.newBufferedWriter(outputFilePath, charset); ZipFile zip=new ZipFile(zipFileName); ){ String newLine = System.getProperty("line.separator"); for (Enumeration entries = zip.entries(); entries.hasMoreElements(); ) { // Берем имя файла из архива и записываем его в результирующий файл // Get the entry name and write it to the output file String zipEntryName = ((ZipEntry) entries.nextElement()).getName() + newLine; writer.write(zipEntryName, 0, zipEntryName.length()); } }catch (IOException e){ e.printStackTrace(); } /*try { zip = new ZipFile(zipFileName); writer = Files.newBufferedWriter(outputFilePath, charset); String newLine = System.getProperty("line.separator"); for (Enumeration entries = zip.entries(); entries.hasMoreElements(); ) { // Берем имя файла из архива и записываем его в результирующий файл // Get the entry name and write it to the output file String zipEntryName = ((ZipEntry) entries.nextElement()).getName() + newLine; writer.write(zipEntryName, 0, zipEntryName.length()); } } catch (IOException e) { e.printStackTrace(); } finally { if (writer != null) { try { writer.close(); } catch (IOException e1) { e1.printStackTrace(); } } if (zip != null) { try { zip.close(); } catch (IOException e1) { e1.printStackTrace(); } } }*/ } public static void main(String[] args) { } } пока не удалил блок,закоменченный(выделил жирным) Валя писала: в методе не должно быть блока final; Удалил и все пошло.