На мой первый вопрос https://javarush.com/help/52076 я получил ответ в соответствии с которым переделал код, теперь если размер файла нечетный, то программа работает по условию задачи. Но валидатор всеравно решение не пропускает.
package com.javarush.task.task18.task1808;
/*
Разделение файла
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws IOException {
InputStreamReader inputStreamReader = new InputStreamReader(System.in);
BufferedReader reader = new BufferedReader(inputStreamReader);
String fileName1 = reader.readLine();
String fileName2 = reader.readLine();
String fileName3 = reader.readLine();
reader.close();
inputStreamReader.close();
File file = new File(fileName1);
long size1 = file.length();
long size3 = size1 / 2;
long size2 = size1 - size3;
FileInputStream inputStream = new FileInputStream(fileName1);
FileOutputStream outputStream1 = new FileOutputStream(fileName2);
while (inputStream.available() > 0 && size2-- > 0) {
int b = inputStream.read();
if (b == -1) break;
outputStream1.write(b);
}
outputStream1.close();
FileOutputStream outputStream2 = new FileOutputStream(fileName3);
while (inputStream.available() > 0 && size3-- > 0) {
int b = inputStream.read();
if (b == -1) break;
outputStream2.write(b);
}
outputStream2.close();
inputStream.close();
}
}