"Если в первом файле нечетное количество байт, твоя программа во второй файл записывает меньшую часть байтов, а нужно наоборот.
Если в первом файле нечетное количество байт, твоя программа записывает большую часть в третий файл, а нужно наоборот." - в роде все поправила, но валидатор все равно не пропускает. Где ошибка не найду
package com.javarush.task.task18.task1808;
import java.io.*;
/*
Разделение файла
*/
//Считать с консоли три имени файла: файл1, файл2, файл3.
//Разделить файл1 по следующему критерию:
//Первую половину байт записать в файл2, вторую половину байт записать в файл3.
//Если в файл1 количество байт нечетное, то файл2 должен содержать большую часть.
//Закрыть потоки.
//
//
//Требования:
//1. Программа должна три раза считать имена файлов с консоли.
//2. Для чтения из файла используй поток FileInputStream, для записи в файлы - FileOutputStream
//3. Первую половину байт из первого файла нужно записать во второй файл.
//4. Вторую половину байт из первого файла нужно записать в третий файл.
//5. Потоки FileInputStream и FileOutputStream должны быть закрыты.
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
FileInputStream fileInputStream = new FileInputStream(fileName);
FileOutputStream fileOutputStream1 = new FileOutputStream(reader.readLine());
FileOutputStream fileOutputStream2 = new FileOutputStream(reader.readLine());
byte[] buffer = new byte[1000];
while (fileInputStream.available()>0){
int count = fileInputStream.read(buffer);
if (!(fileInputStream.available()%2==0)){ // остаток от деления нечетный
fileOutputStream1.write(new byte[501], 0, (count/2)+1); //501 байт начиная с 1-го во второй файл
fileOutputStream2.write(new byte[499], (count/2)+1, (count/2)-1); //499 байт начиная с 501 в третий файл
//Если в первом файле нечетное количество байт, твоя программа во второй файл записывает меньшую часть байтов, а нужно наоборот.
//Если в первом файле нечетное количество байт, твоя программа записывает большую часть в третий файл, а нужно наоборот.
}
}
fileInputStream.close();
fileOutputStream1.close();
fileOutputStream2.close();
}
}