JavaRush /Java блог /Архив info.javarush /Помогите найти ошибку
Danneborg
23 уровень
Маунтин-Вью

Помогите найти ошибку

Статья из группы Архив info.javarush
/* Разделение файла Считать с консоли три имени файла: файл1, файл2, файл3. Разделить файл1 по следующему критерию: Первую половину байт записать в файл2, вторую половину байт записать в файл3. Если в файл1 количество байт нечетное, то файл2 должен содержать бОльшую часть. Закрыть потоки ввода-вывода */ import java.io.*; public class Solution { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String fileName1 = reader.readLine(); String fileName2 = reader.readLine(); String fileName3 = reader.readLine(); FileInputStream filereader = new FileInputStream(fileName1); FileOutputStream file2writer = new FileOutputStream(fileName2); FileOutputStream file3writer = new FileOutputStream(fileName3); while (filereader.available() > 0) { if (filereader.available() % 2 == 0) { byte[] buffer = new byte[filereader.available() / 2]; byte[] buffer1 = new byte[filereader.available() / 2]; int count = filereader.read(buffer); int count1 = filereader.read(buffer1); file2writer.write(buffer, 0, count / 2); file3writer.write(buffer1, 0, count1 / 2); } else { byte[] buffer = new byte[filereader.available() / 2 + 1]; byte[] buffer1 = new byte[filereader.available() / 2]; int count = filereader.read(buffer); int count1 = filereader.read(buffer1); file2writer.write(buffer, 0, count); file3writer.write(buffer1, 0, count1); } } reader.close(); file2writer.close(); filereader.close(); file3writer.close(); }
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ