Что не так?
package com.javarush.task.task31.task3105;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
/*
Добавление файла в архив
*/
public class Solution {
public static void main(String[] args) throws IOException {
String fileForWrite = "new"+"/"+args[0].split("\\\\")[args.length];
HashMap <ZipEntry,byte[]> map = new HashMap<>();
ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream(args[1]));
ZipEntry zipEntry;
while ((zipEntry = zipInputStream.getNextEntry()) != null) {
if (zipEntry.getName().equals(fileForWrite)) {
continue;
}
byte [] bytes = new byte[zipInputStream.available()];
zipInputStream.read(bytes,0,bytes.length);
map.put(zipEntry, bytes);
}
zipInputStream.close();
FileInputStream inputStream = new FileInputStream(args[0]);
ZipOutputStream zipOutputStream = new ZipOutputStream(new FileOutputStream(args[0]));
ZipEntry zip2 = new ZipEntry(fileForWrite);
byte[] buffer = new byte[inputStream.available()];
inputStream.read(buffer);
zipOutputStream.putNextEntry(zip2);
zipOutputStream.write(buffer);
for (Map.Entry<ZipEntry, byte[]> zipEntryEntry : map.entrySet()) {
zipOutputStream.putNextEntry(new ZipEntry(zipEntryEntry.getKey().getName()));
zipOutputStream.write(zipEntryEntry.getValue());
}
zipOutputStream.close();
inputStream.close();
}
}
//C:\Dir\result.txt C:\Dir\zip1.zip