подскажите, пожалуйста, почему не проходит не смотря на то, что код рабочий. много тестировал. работает
например, если нечетное количество байтов
первый файл содержит:
1
2
3
4
5
6
7
8
9
10
, то во второй файл запишется:
1
2
3
4
5
6
, а в третий:
7
8
9
10
ровно как по условию
и в случае четного количества байтов условие выполняетсяpackage com.javarush.task.task18.task1808;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/*
Разделение файла
*/
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();
reader.close();
FileInputStream fileReader1 = new FileInputStream(fileName1);
FileOutputStream fileWriter2 = new FileOutputStream(fileName2);
FileOutputStream fileWriter3 = new FileOutputStream(fileName3);
List<Integer> list1 = new ArrayList<>();
while(fileReader1.available() > 0){
int data = fileReader1.read();
list1.add(data);
}
fileReader1.close();
int parity = list1.size() % 2;
int half = list1.size() / 2;
if(parity != 0) {
for (int i = 0; i < (half - 1); i++) {
fileWriter2.write(list1.get(i));
}
for (int i = half - 1 ; i < list1.size(); i++) {
fileWriter3.write(list1.get(i));
}
}
else{
for (int i = 0; i < (half + 1); i++) {
fileWriter2.write(list1.get(i));
}
for (int i = half + 2; i < list1.size(); i++) {
fileWriter3.write(list1.get(i));
}
fileWriter2.close();
fileWriter3.close();
}
}
}