объясните плиз разделение файла.
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 br = new BufferedReader(new InputStreamReader(System.in));
String firstFile = br.readLine();
String secondFile = br.readLine();
String thirdFile = br.readLine();
br.close();
FileInputStream fr = new FileInputStream(firstFile);
FileOutputStream fw1 = new FileOutputStream(secondFile);
FileOutputStream fw2 = new FileOutputStream(thirdFile);
byte[] imput = new byte[fr.available()];
if (fr.available() % 2 == 0) {
while (fr.available() > 0) {
int count = fr.read(imput);
fw1.write(imput, 0, (count / 2));
fw2.write(imput, (count / 2 + 1), count / 2);
}
}
else{
while (fr.available() > 0) {
int count = fr.read(imput);
fw1.write(imput, 0, count/2 + 1);
fw2.write(imput, count / 2, count/2);
}
}
fr.close();
fw1.close();
fw2.close();
}
}