Требования валидатора:
Первую половину байт из первого файла нужно записать во второй файл.
Вторую половину байт из первого файла нужно записать в третий файл.
А что тогда делает мой код?
package com.javarush.task.task18.task1808;
import java.io.*;
/*
Разделение файла
*/
public class Solution {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
File[] files = new File[3];
for (int i = 0; i < 3; i++)
{
try
{
files[i] = new File(reader.readLine());
} catch (IOException e)
{
e.printStackTrace();
}
;
}
try {
FileInputStream fileStream1 = new FileInputStream (files[0]);
FileOutputStream fileStream2 = new FileOutputStream(files[1]);
FileOutputStream fileStream3 = new FileOutputStream(files[2]);
byte[] f = new byte[(int) files[0].length()];
int l1 = (int) files[0].length();
int half = l1 / 2;
int l2 = (l1 - half) > (l1 / 2) ? half + 1: half;
int l3 = l1 - l2;
fileStream1.read(f); fileStream1.close();
/*System.out.printf(" f 1 = %d , f2 = %d, f3 = %d", l1,l2,l3);*/
fileStream2.write(f,0,l2); fileStream2.close();
fileStream3.write(f,l2 ,l3); fileStream3.close();
} catch (IOException e) {throw new RuntimeException(e);}
}
}
/*Разделение файла
Считать с консоли три имени файла: файл1, файл2, файл3.
Разделить файл1 по следующему критерию:
Первую половину байт записать в файл2, вторую половину байт записать в файл3.
Если в файл1 количество байт нечетное, то файл2 должен содержать большую часть.
Закрыть потоки.
g:/java/java1.txt
g:/java/java2.txt
g:/java/java3.txt
Requirements:
1. Программа должна три раза считать имена файлов с консоли.
2. Для чтения из файла используй поток FileInputStream, для записи в файлы - FileOutputStream
3. Первую половину байт из первого файла нужно записать во второй файл.
4. Вторую половину байт из первого файла нужно записать в третий файл.
5. Потоки FileInputStream и FileOutputStream должны быть закрыты.*/