Что не так?
package com.javarush.task.task18.task1808;
/*
Разделение файла
*/
import java.io.*;
/*
Считать с консоли три имени файла: файл1, файл2, файл3.
Разделить файл1 по следующему критерию:
Первую половину байт записать в файл2, вторую половину байт записать в файл3.
Если в файл1 количество байт нечетное, то файл2 должен содержать большую часть.
Закрыть потоки.
Требования:
•
Программа должна три раза считать имена файлов с консоли.
•
Для чтения из файла используй поток FileInputStream, для записи в файлы - FileOutputStream
•
Первую половину байт из первого файла нужно записать во второй файл.
•
Вторую половину байт из первого файла нужно записать в третий файл.
•
Потоки FileInputStream и FileOutputStream должны быть закрыты.
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String firstFileName = reader.readLine();
String secondFileName = reader.readLine();
String thirdFileName = reader.readLine();
reader.close();
FileInputStream fis1 = new FileInputStream(firstFileName);
FileOutputStream fos1 = new FileOutputStream(secondFileName);
FileOutputStream fos2 = new FileOutputStream(thirdFileName);
byte[] buffer = new byte[1000];
int size = fis1.available();
while (fis1.available() > 0) {
int count2 = fis1.read(buffer, 0, size - (size / 2));
if (count2 % 2 == 0) {
fos1.write(buffer, 0, count2);
fos2.write(buffer, count2, size);
} else if (count2 % 2 < 0) {
fos1.write(buffer, 0, count2 + 1);
fos2.write(buffer, count2 + 1, size);
}
}
fis1.close();
fos1.close();
fos2.close();
}
}