Но мне показалось файл собирается
Я очень сильно надеюсь что это не разбитый архив на тома .. Потому что я не понимаю как собрать том)))
А потом разархивируем и все,(((
package com.javarush.task.task31.task3106;
import java.io.*;
import java.util.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
/*
Разархивируем файл
*/
public class Solution {
public static void main(String[] args) throws IOException {
// args = new String[] {"C:\\11\\test.txt","C:\\11\\4.001","C:\\11\\4.002"};
TreeSet<String> name = new TreeSet<>();
for (int i=1;i<args.length;i++)
name.add(args[i]);
int index1 = name.first().indexOf(".001");
String firstPartName = name.first().substring(0,index1);
// String firstPartName = "C:\\11\\1.zip";
System.out.println(firstPartName);
// Создаем поток-записи-байт-в-файл
FileOutputStream outputStream = new FileOutputStream(firstPartName);
for(String state : name) {
FileInputStream inputStream = new FileInputStream(state);
System.out.println(state);
byte[] buffer = new byte[inputStream.available()];
int count = inputStream.read(buffer);
outputStream.write(buffer, 0, count);
inputStream.close();
}
outputStream.close();
String resultFileName = args[0];
// firstPartName = "C:\\11\\1.zip";
try(ZipInputStream zin = new ZipInputStream(new FileInputStream(firstPartName)))
{
// ZipEntry entry;
// String name1;
long size;
// while((entry=zin.getNextEntry())!=null){
// name1 = entry.getName(); // получим название файла
// size=entry.getSize(); // получим его размер в байтах
// System.out.printf("File name: %s \t File size: %d \n", name1, size);
// распаковка
// FileOutputStream fout = new FileOutputStream(name1);
FileOutputStream fout = new FileOutputStream(resultFileName);
for (int c = zin.read(); c != -1; c = zin.read()) {
fout.write(c);
}
fout.flush();
zin.closeEntry();
fout.close();
// }
}
catch(Exception ex){
// System.out.println(ex.getMessage());
}
}
}