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(); } }
…