when the count of bytes is for example 7, my code writes 4 bytes to the file2 (from index 0 to 3) and 3 bytes to file3 (from index 4 to 6), why i receive verification error? what i'm missing here, pls help
package com.codegym.task.task18.task1808;
/*
Splitting a file
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String file1 = br.readLine();
String file2 = br.readLine();
String file3 = br.readLine();
FileInputStream inputStream1 = new FileInputStream(file1);
FileOutputStream outputStream2 = new FileOutputStream(file2);
FileOutputStream outputStream3 = new FileOutputStream(file3);
byte[] buffer = new byte[inputStream1.available()];
while (inputStream1.available() > 0) {
int count = inputStream1.read(buffer);
if (count % 2 != 0) {
outputStream2.write(buffer, 0, (count / 2));
outputStream3.write(buffer, (count / 2)+1, inputStream1.available() - 1);
} else
{
outputStream2.write(buffer, 0, (count/2)-1);
outputStream3.write(buffer, (count/2), inputStream1.available()-1);
}
}
br.close();
inputStream1.close();
outputStream2.close();
outputStream3.close();
}
}