Выдает ошибку мол программа слишком долго работает, хотя по идее циклы то закончатся рано или поздно.
Что заставляет программу работать так долго то?
package com.javarush.task.task18.task1808;
import java.util.*;
import java.io.*;
/*
Разделение файла
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader red = new BufferedReader(new InputStreamReader(System.in));
FileInputStream in = new FileInputStream(red.readLine());
FileOutputStream out1 = new FileOutputStream(red.readLine());
FileOutputStream out2 = new FileOutputStream(red.readLine());
int a = in.available();// узнаем количество байтов
if(a%2==1)
{
while(((a/2)+1)>0) // Проганяем первую половину файла(большую часть)
{
out1.write(in.read()); // Записываем первую половину первого файла во второй
}
while((a/2) >0) // Проганяем вторую половину файла(меньшую часть)
{
out2.write(in.read()); // Записываем остаток первого файла во третий
}
}
else {
while((a/2)>0) // Проганяем первую половину файла
{
out1.write(in.read()); // Записываем первую половину первого файла во второй
}
while((a/2) >0) // Проганяем вторую половину файла
{
out2.write(in.read()); // Записываем остаток первого файла во третий
}
}
red.close();
in.close();
out1.close();
out2.close();
}
}