package com.javarush.test.level18.lesson05.task03;

/* Разделение файла
Считать с консоли три имени файла: файл1, файл2, файл3.
Разделить файл1 по следующему критерию:
Первую половину байт записать в файл2, вторую половину байт записать в файл3.
Если в файл1 количество байт нечетное, то файл2 должен содержать бОльшую часть.
Закрыть потоки. Не использовать try-with-resources
*/

        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));
        String file1Name = reader.readLine();
        String file2Name = reader.readLine();
        String file3Name = reader.readLine();
        FileInputStream inputStream = new FileInputStream(file1Name);
        FileOutputStream file2 = new FileOutputStream(file2Name);
        FileOutputStream file3 = new FileOutputStream(file3Name);
        ArrayList<Integer> array = new ArrayList<>();
        while(inputStream.available() > 0) {
            array.add(inputStream.read());
        }
        if((array.size() % 2) == 0)
        {
            for (int i = 0; i < (array.size() / 2); i++)
            {
                file2.write(array.get(i));
            }
            for (int i = (array.size() / 2); i < array.size(); i++)
            {
                file3.write(array.get(i));
            }
        }
        else {
            for (int i = 0; i < (array.size() / 2 + 1); i++)
            {
                file2.write(array.get(i));
            }
            for (int i = (array.size() / 2 + 1); i < array.size(); i++)
            {
                file3.write(array.get(i));
            }
        }
        reader.close();
        inputStream.close();
        file2.close();
        file3.close();
    }
}