Почему выскакивает исключение IndexOutOfBoundsException на строчке ?
outputStream_3.write(b, count/2, count );
Подскажите плиз а то уже совсем не соображаю)
package com.javarush.task.task18.task1808;
/*
Разделение файла
*/
import java.io.*;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) throws IOException {
// BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileInputStream inputStream_1 = new FileInputStream(new File(".").getAbsoluteFile().getParentFile().getAbsolutePath() + System.getProperty("file.separator")+"file.rtf");
FileOutputStream outputStream_2 = new FileOutputStream(new File(".").getAbsoluteFile().getParentFile().getAbsolutePath() + System.getProperty("file.separator")+"file2.rtf");
FileOutputStream outputStream_3 = new FileOutputStream(new File(".").getAbsoluteFile().getParentFile().getAbsolutePath() + System.getProperty("file.separator")+"file3.rtf");
byte[] b = new byte[inputStream_1.available()];
int count = 0;
while(inputStream_1.available() > 0)
{
count = inputStream_1.read(b);
outputStream_2.write(b, 0, count/2 );
outputStream_3.write(b, count/2, count );
}
inputStream_1.close();
outputStream_2.close();
outputStream_3.close();
// System.out.println("Количество прочтенных символов: " + count);
/*
FileOutputStream outputStream_2 = new FileOutputStream(reader.readLine());
FileOutputStream outputStream_3 = new FileOutputStream(reader.readLine());
byte[] buff1 = new byte[inputStream_1.available()/2 + 1];
byte[] buff2 = new byte[inputStream_1.available()];
outputStream_2.write(buff1, 0, inputStream_1.read(buff1));
outputStream_3.write(buff2, 0,inputStream_1.read(buff2));
inputStream_1.close();
outputStream_2.close();
outputStream_3.close();
reader.close();
*/
}
}