Сейчас насколько я понял при тестировании проблема в том, что
zipEntry = zipInputStream.getNextEntry()
сразу равняется null. До этого пробовал собирать файл и потом уже разархивировать, не прошло ни по одному пункту. Прошу помощи!
package com.javarush.task.task31.task3106;
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
/*
Разархивируем файл
*/
public class Solution {
public static void main(String[] args) throws IOException {
// String [] args2 = {"1", "D:/32565.z01", "D:/32565.z02", "D:/32565.z03"};
String fileName = args[0];
List<String> names = new ArrayList<>();
names.addAll(Arrays.asList(args).subList(1, args.length));
Collections.sort(names);
List<FileInputStream> inputStreams = new ArrayList<>();
for (String allNames : names) {
inputStreams.add(new FileInputStream(allNames));
}
ZipInputStream zipInputStream = new ZipInputStream(new SequenceInputStream(Collections.enumeration(inputStreams)));
FileOutputStream fileOutputStream = new FileOutputStream(fileName);
ZipEntry zipEntry;
while ((zipEntry = zipInputStream.getNextEntry())!= null){
for (int c = zipInputStream.read(); c != -1; c = zipInputStream.read()) {
fileOutputStream.write(c);
}zipInputStream.closeEntry();
}zipInputStream.close();
fileOutputStream.close();
}
}