Добрый день!
Помогите, пожалуйста, понять, что я делаю не так. Выдает ошибку, что "Вторую половину байт из первого файла нужно записать в третий файл.", но оно все записывается в два выходных тестовых файла так, как надо (50/50 при четном количестве байт и 50+1/50-1 при нечетном)... В чем ошибка?
Спасибо.
package com.javarush.task.task18.task1808;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.*;
/*
Разделение файла
*/
public class Solution {
public static void main(String[] args) throws IOException {
InputStreamReader inputStreamReader = new InputStreamReader(System.in);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String path1 = bufferedReader.readLine();
String path2 = bufferedReader.readLine();
String path3 = bufferedReader.readLine();
FileInputStream fileInputStream = new FileInputStream(path1);
FileOutputStream fileOutputStream2 = new FileOutputStream(path2);
FileOutputStream fileOutputStream3 = new FileOutputStream(path3);
if (fileInputStream.available() > 0) {
byte[] buffer = new byte[fileInputStream.available()];
int count = fileInputStream.read(buffer);
System.out.println(buffer.length);
System.out.println(count);
if (count % 2 == 0) {
fileOutputStream2.write(buffer, 0, count / 2);
fileOutputStream3.write(buffer, count / 2, count / 2);
} else {
fileOutputStream2.write(buffer, 0, count / 2 + 1);
fileOutputStream3.write(buffer, count / 2 + 2, count / 2 - 1);
}
}
inputStreamReader.close();
bufferedReader.close();
fileInputStream.close();
fileOutputStream2.close();
fileOutputStream3.close();
}
}