public class Solution {
public static void main(String[] args) throws IOException {
class FileInfo {
int partNumber;
String fileName;
FileInfo(String fileName) {
this.fileName = fileName;
int lastIndex = fileName.lastIndexOf("part");
String numPart = fileName.substring(lastIndex + "part".length());
partNumber = Integer.parseInt(numPart);
}
}
List<FileInfo> filesNames = new ArrayList<>();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String fileName = bufferedReader.readLine();
while (fileName != null && !fileName.equals("end")) {
filesNames.add(new FileInfo(fileName));
fileName = bufferedReader.readLine();
}
Collections.sort(filesNames, (o1, o2) -> Integer.compare(o1.partNumber, o2.partNumber));
String outFileName = filesNames.get(0).fileName;
int lastIndex = outFileName.lastIndexOf("part");
outFileName = outFileName.substring(0, lastIndex);
FileOutputStream fileOutputStream = new FileOutputStream(outFileName);
byte[] buffer = new byte[1024];
for (FileInfo info : filesNames) {
FileInputStream fileInputStream = new FileInputStream(info.fileName);
while (fileInputStream.available() > 0) {
int bytesRead = fileInputStream.read(buffer);
fileOutputStream.write(buffer, 0, bytesRead);
}
fileInputStream.close();
}
fileOutputStream.close();
}
}
package com.javarush.task.task18.task1825;
import java.io.*;
import java.util.*;
/*
Собираем файл
*/
public class Solution {
public static void main(String[] args) throws IOException {
class FileInfo {
int partNumber;
String fileName;
FileInfo(String fileName) {
this.fileName = fileName;
int lastIndex = fileName.lastIndexOf("part");
String numPart = fileName.substring(lastIndex + "part".length());
partNumber = Integer.parseInt(numPart);
}
}
List<FileInfo> filesNames = new ArrayList<>();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String fileName = bufferedReader.readLine();
while (fileName != null && !fileName.equals("end")) {
filesNames.add(new FileInfo(fileName));
fileName = bufferedReader.readLine();
}
Collections.sort(filesNames, (o1, o2) -> Integer.compare(o1.partNumber, o2.partNumber));
String outFileName = filesNames.get(0).fileName;
int lastIndex = outFileName.lastIndexOf("part");
outFileName = outFileName.substring(0, lastIndex);
FileOutputStream fileOutputStream = new FileOutputStream(outFileName);
byte[] buffer = new byte[1024];
for (FileInfo info : filesNames) {
try {
FileInputStream fileInputStream = new FileInputStream(info.fileName);
while (fileInputStream.available() > 0) {
try {
int bytesRead = fileInputStream.read(buffer);
fileOutputStream.write(buffer, 0, bytesRead);
} catch (IOException e) {
} finally {
fileInputStream.close();
}
}
} catch (FileNotFoundException e) {
}
}
fileOutputStream.close();
}
}