Пишет "Если в первом файле нечетное количество байт, твоя программа во второй файл записывает меньшую часть байтов, а нужно наоборот."
Я же написала countStart + 1, половину и +1 тоесть дожно записывать большую часть или что не так?
package com.javarush.task.task18.task1808;
import java.io.*;
/*
Разделение файла
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String string1 = bufferedReader.readLine();
String string2 = bufferedReader.readLine();
String string3 = bufferedReader.readLine();
FileInputStream inputStream = new FileInputStream(string1);
FileOutputStream outputStream = new FileOutputStream(string2);
FileOutputStream outputStream1 = new FileOutputStream(string3);
byte[] buffer = new byte[1000];
while (inputStream.available() > 0) {
int countStart = inputStream.read(buffer) / 2;
int countEnd = inputStream.read(buffer);
if (countStart % 2 == 0) {
outputStream.write(buffer, 0, countStart);
outputStream1.write(buffer, countStart, countEnd);
}
if (countStart % 2 == 1) {
outputStream.write(buffer, 0, countStart + 1);
outputStream1.write(buffer, countStart, countEnd);
}
}
inputStream.close();
outputStream.close();
outputStream1.close();
}
}
byte[] buffer = new byte[1000 * 1000]но есть способ лучше - сразу задать размерnew byte[inputStream.available()]Так даже цикл while уже не будет нужен.