Вторая половина же записывается в третий файл. Почему не принимает?
package com.javarush.task.task18.task1808;
import java.io.*;
import java.util.ArrayList;
/*
Разделение файла
*/
public class Solution {
public static void main(String[] args) {
fileReaderAndWriter(readNameFileThree());
}
public static ArrayList<String> readNameFileThree() {
ArrayList<String> arr = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
for (int i = 0; i < 3; i++) {
arr.add(reader.readLine());
}
} catch (Exception e) {
System.out.println("read name file is fail");
}
return arr;
}
public static void fileReaderAndWriter(ArrayList<String> arrayList) {
int count = 0;
ArrayList<Integer> num = new ArrayList<>();
try (FileInputStream fileInputStream = new FileInputStream((arrayList.get(0))); FileOutputStream fileOutputStream2 = new FileOutputStream(arrayList.get(1));
FileOutputStream fileOutputStream3 = new FileOutputStream(arrayList.get(2))) {
count = fileInputStream.available();
while (fileInputStream.available() > 0) {
num.add(fileInputStream.read());
}
if (count % 2 == 0) {
for (int i = 0; i < count / 2; i++) {
fileOutputStream2.write(num.get(i));
}
for (int i = count / 2; i < count - 1; i++) {
fileOutputStream3.write(num.get(i));
}
} else {
for (int i = 0; i < count / 2 + 1; i++) {
fileOutputStream2.write(num.get(i));
}
for (int i = count / 2 + 1; i < count - 1; i++) {
fileOutputStream3.write(num.get(i));
}
}
} catch (Exception e) {
System.out.println("files not found");
}
}
}