- Создал зип архив с содержимым как по условию - args[1] - Создал файл который надо добавить в этот архив - args[0] - Попытался подставить реальные данные в уже решенную и принятую задачу - В папке TEST.zip остается только - result.mp3 public class CreatTestZip { public static void main(String[] args) throws IOException { ZipOutputStream zos = new ZipOutputStream(new FileOutputStream("TEST.zip")); ZipEntry ze = new ZipEntry("a.txt"); zos.putNextEntry(ze); zos.write("всякая хуета файла а".getBytes()); ze = new ZipEntry("b.txt"); zos.putNextEntry(ze); zos.write("всякая хуета файла b".getBytes()); zos.close(); } } public class LikeJavaTask { public static void main(String[] args) throws IOException { String fileName = "/Users/sergeybezverkhniy/Desktop/result.mp3"; String zipFile = "/Users/sergeybezverkhniy/Desktop/TEST.zip"; Map<String, ByteArrayOutputStream> map = new HashMap<>(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); try (ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFile))) { ZipEntry ze; int lenght; byte[] buffer = new byte[1024]; while ((ze = zis.getNextEntry()) != null) { while ((lenght = zis.read(buffer)) > 0) { baos.write(buffer,0,lenght); } map.put(ze.getName(), baos); zis.closeEntry(); } } try (ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile))) { fileName = fileName.substring(fileName.lastIndexOf(File.separator)+1); ZipEntry ze1 = new ZipEntry("new/" + fileName); zos.putNextEntry(ze1); Files.copy(Paths.get(fileName),zos); zos.closeEntry(); for (Map.Entry<String,ByteArrayOutputStream> pair : map.entrySet()) { ze1 = new ZipEntry(pair.getKey()); if(!ze1.toString().endsWith(fileName)) { zos.putNextEntry(ze1); zos.write(pair.getValue().toByteArray()); zos.closeEntry(); } } } } }