Задача:
Считать с консоли три имени файла: файл1, файл2, файл3.
Разделить файл1 по следующему критерию:
Первую половину байт записать в файл2, вторую половину байт записать в файл3.
Если в файл1 количество байт нечетное, то файл2 должен содержать большую часть.
Закрыть потоки.
Требования:
-
Программа должна три раза считать имена файлов с консоли.
-
Для чтения из файла используй поток FileInputStream, для записи в файлы — FileOutputStream
-
Первую половину байт из первого файла нужно записать во второй файл.
-
Вторую половину байт из первого файла нужно записать в третий файл.
-
Потоки FileInputStream и FileOutputStream должны быть закрыты.
Решение:
import java.io.*;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String file1 = reader.readLine();
String file2 = reader.readLine();
String file3 = reader.readLine();
FileInputStream inputStream = new FileInputStream(file1);
FileOutputStream outputStream2 = new FileOutputStream(file2);
FileOutputStream outputStream3 = new FileOutputStream(file3);
byte[] bytes = new byte[(inputStream.available() +1) / 2];
inputStream.read(bytes);
outputStream2.write(bytes);
bytes = new byte[inputStream.available()];
inputStream.read(bytes);
outputStream3.write(bytes);
reader.close();
inputStream.close();
outputStream2.close();
outputStream3.close();
}}