Если в первом файле нечетное количество байт, твоя программа во второй файл записывает меньшую часть байтов, а нужно наоборот.
package com.javarush.task.task18.task1808;
/*
Разделение файла
*/
import java.io.*;
import java.util.Arrays;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileInputStream fileInputStream = new FileInputStream(reader.readLine());
FileOutputStream two = new FileOutputStream(reader.readLine());
FileOutputStream three = new FileOutputStream(reader.readLine());
reader.close();
byte[] buff = new byte[fileInputStream.available()];
int s = fileInputStream.read(buff);
if(s%2 == 0){
two.write(buff,0,s/2);
three.write(buff,s/2, s);
}
else {
two.write(buff,0,s - s/2);
three.write(buff,s - s/2, s);
}
fileInputStream.close();
three.close();
two.close();
}
}