Привет,
Помогите пожалуйста разобратся почему у меня не работает код...
Если по отдельности:
input - работает, количество считаных байт вроде как определяется правильно;
output - индексы от/до записи, количество байт на запись тоже вроде бы правильные, подставлял небольшие цыфры на бумажке и все сходилось.
Но вместе почему то не работает(
package com.javarush.task.task18.task1808;
import java.io.*;
import java.util.ArrayList;
/*
Разделение файла
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));
String file1 = consoleReader.readLine();
String file2 = consoleReader.readLine();
String file3 = consoleReader.readLine();
FileInputStream count = new FileInputStream(file1);
FileInputStream input = new FileInputStream(file1);
FileOutputStream output2 = new FileOutputStream(file2);
FileOutputStream output3 = new FileOutputStream(file3);
byte[] buffer = new byte[1000];
int byteCount = 0;
while (count.available() > 0) {
byteCount += count.read(buffer);
}
byte[] byteContainer = new byte[byteCount];
for (int i = 0; i < byteContainer.length; i++) {
byteContainer[i] = (byte) input.read();
}
if (!(byteContainer.length % 2 == 0)) {
int offSet = 1+(int)(Math.ceil(byteContainer.length / 2.0));
output2.write(byteContainer, 0, offSet-1);
output3.write(byteContainer, offSet, 1+byteContainer.length-offSet);
} else{
int offSet = 1+byteContainer.length/2;
output2.write(byteContainer, 0, byteContainer.length / 2);
output3.write(byteContainer, offSet, byteContainer.length/2);
}
count.close();
input.close();
output2.close();
output3.close();
}
}