Валидатор принял такой вариант, но...
Process finished with exit code 0
public class Solution {
public static void main(String[] args) throws IOException {
List<String> list = new ArrayList<>(Arrays.asList(args).subList(1, args.length));
Collections.sort(list);
List<InputStream> list2 = new ArrayList<>();
for (String s : list) {
list2.add(new FileInputStream(s));
}
FileOutputStream fos = new FileOutputStream(args[0]);
try(ZipInputStream zis = new ZipInputStream(new SequenceInputStream(Collections.enumeration(list2)))) {
while(zis.getNextEntry()!=null) {
byte[] buffer = new byte[1024];
int countOfBytes;
while ((countOfBytes = zis.read(buffer)) > 0) {
fos.write(buffer, 0, countOfBytes);
fos.flush();
}
zis.closeEntry();
}
/*int b;
while (true){
b = zis.read();
if (b==-1)break;
fos.write(b);
}
fos.flush();*/
}
catch (Exception e){
e.printStackTrace();
}
fos.close();
}
}
ИДЕЯ выдавала ошибку
java.lang.IllegalArgumentException: malformed input off : 6, length : 1
at java.base/java.lang.StringCoding.throwMalformed(StringCoding.java:685)
at java.base/java.lang.StringCoding.decodeUTF8_0(StringCoding.java:872)
at java.base/java.lang.StringCoding.newStringUTF8NoRepl(StringCoding.java:965)
at java.base/java.lang.System$2.newStringUTF8NoRepl(System.java:2197)
at java.base/java.util.zip.ZipCoder$UTF8.toString(ZipCoder.java:60)
at java.base/java.util.zip.ZipCoder.toString(ZipCoder.java:87)
at java.base/java.util.zip.ZipInputStream.readLOC(ZipInputStream.java:301)
at java.base/java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:123)
at com.javarush.task.task31.task3106.Solution.main(Solution.java:23)
Caused by: java.nio.charset.MalformedInputException: Input length = 1
... 9 more
Без получения объекта ZIpEntry тоже ничего не работало, в том смысле что ошибок не было, но в файл ничего не писало. Правда я думаю ,что неправильно тестировал, т.к. просто создал папку с несколькими архивами текстовых файлов и хотел чтобы мне инфу их них переписало в другой файл.