Тесты показали что делит файл верно, во второй файл больше записывает байтов если не четно, если четно то поровно! Но валидатор не пускает
package com.javarush.task.task18.task1808;
/*
Разделение файла
*/
import java.io.*;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileInput = reader.readLine();
String fileOutput1 = reader.readLine();
String fileOutput2 = reader.readLine();
FileInputStream fileInputStream1 = new FileInputStream(fileInput);
FileOutputStream fileOutputStream2 = new FileOutputStream(fileOutput1);
FileOutputStream fileOutputStream3 = new FileOutputStream(fileOutput2);
ArrayList<Byte> temp = new ArrayList<>();
byte[] buffer1;
byte[] buffer2;
while (fileInputStream1.available() > 0){
temp.add((byte) fileInputStream1.read());
}
fileInputStream1.close();
int temp1 = temp.size() / 2;
if (temp.size() % 2 == 0){
buffer1 = new byte[temp1];
buffer2 = new byte[temp1];
for (int i = 0, j = temp1; j <= temp.size() - 1; i++, j ++) {
System.out.println("I =" + i);
System.out.println("j =" + j);
buffer1[i] = temp.get(i);
buffer2[i] = temp.get(j);
}
fileOutputStream2.write(buffer1);
fileOutputStream3.write(buffer2);
} else {
int temp3 = temp.size() - temp1;
buffer1 = new byte[temp3];
buffer2 = new byte[temp1];
for (int i = 0; i < temp3; i++) {
System.out.println("I =" + i);
buffer1[i] = temp.get(i);
}
for (int j = temp3, t = 0; j < temp.size(); j++, t++) {
System.out.println("j =" + j);
buffer1[t] = temp.get(j);
}
fileOutputStream2.write(buffer1);
fileOutputStream3.write(buffer2);
}
fileOutputStream2.close();
fileOutputStream3.close();
}
}