Не проходит проверку, что нужно исправить
package com.javarush.task.task31.task3105;
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
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 {
ArrayList<File> list = new ArrayList<>();
ZipInputStream zip_in = new ZipInputStream(new FileInputStream(args[1]));
ZipEntry zipEntry_in;
while ((zipEntry_in = zip_in.getNextEntry()) != null) {
if (!zipEntry_in.isDirectory()) {
File file = new File(zipEntry_in.getName());
FileOutputStream fileOutputStream = new FileOutputStream(file);
byte[] buff = new byte[1024];
int len;
while ((len = zip_in.read(buff)) > 0) {
fileOutputStream.write(buff, 0, len);
}
list.add(file);
fileOutputStream.close();
}
}
zip_in.closeEntry();
zip_in.close();
ZipOutputStream zipOutputStream = new ZipOutputStream(new FileOutputStream(args[1]));
String name = args[0].replaceAll(".*/", "");
zipOutputStream.putNextEntry(new ZipEntry("new/" + name));
Files.copy(Paths.get(args[0]), zipOutputStream);
for (File bb : list) {
if (bb.getParent() != null){
zipOutputStream.putNextEntry(new ZipEntry(bb.getParent() + "/" + bb.getName()));
}
else{
zipOutputStream.putNextEntry(new ZipEntry(bb.getName()));
}
Files.copy(bb.toPath(), zipOutputStream);
}
zipOutputStream.closeEntry();
zipOutputStream.close();
}
}