Чтото пошло не так, подскажите что здесь не так, все работает как часики
package com.javarush.task.task31.task3105;
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.HashMap;
import java.util.Map;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
/*
Добавление файла в архив
*/
public class Solution {
public static void main(String[] args) throws IOException {
String fileName = args[0];
String zipName = args[1];
String pathNew = "new/" + Paths.get(fileName).getFileName();
Map<String, byte[]> mapZip = new HashMap<>();
ZipInputStream zipStream1 = new ZipInputStream(new FileInputStream(zipName));
ZipEntry zipEntry;
while ((zipEntry = zipStream1.getNextEntry()) != null) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int data;
while ((data = zipStream1.read()) > 0) {
baos.write(data);
}
mapZip.put(zipEntry.getName(), baos.toByteArray());
}
zipStream1.close();
ZipOutputStream zip = new ZipOutputStream(new FileOutputStream(zipName));
ZipEntry entry1 = new ZipEntry(pathNew);
zip.putNextEntry(entry1);
Files.copy(Paths.get(fileName), zip);
for (String str: mapZip.keySet()) {
ZipEntry entry = new ZipEntry(str);
if (entry.toString().equals(pathNew)) continue;
zip.putNextEntry(entry);
zip.write(mapZip.get(str));
}
zip.close();
}
}