int x1=0;
if (str1.available()%2==0) x1=str1.available(); else
{x1=str1.available()%2+1;} //Ищем размер половины, которую передадим во второй файл
byte[] buffer2=new byte [str1.available()];
str1.read(buffer2);
str2.write(buffer2,0,x1); //передаем кусок буфера2 с нулевой позиции в количестве х1
str3.write(buffer2,x1,(str1.available()-x1)); //передаем кусок буфера2 с позиции х1 в количестве (весь размер файла1-размер половины, переданной в файл 2)
В чем ошибка? Я не правильно пользуюсь выводом блока?А как правильно?package com.javarush.task.task18.task1808;
import java.io.*;
/*
Разделение файла
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
FileInputStream str1=new FileInputStream(reader.readLine());
FileOutputStream str2=new FileOutputStream(reader.readLine());
FileOutputStream str3=new FileOutputStream(reader.readLine());
int x1=0;
if (str1.available()%2==0) x1=str1.available(); else
{x1=str1.available()%2+1;}
byte[] buffer2=new byte [str1.available()];
str1.read(buffer2);
str2.write(buffer2,0,x1);
str3.write(buffer2,x1,(str1.available()-x1));
str1.close();
str2.close();
str3.close();
}
}