Hi
Does anyone have an idea why codegym doesn´t match the requirements? I have double-checked my code in eclipse and it process files as requested.
Cheers
Eike
package com.codegym.task.task18.task1808;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
/*
Fix the bugs
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String file1 = reader.readLine();
String file2 = reader.readLine();
String file3 = reader.readLine();
FileInputStream inputStream1 = new FileInputStream(file1);
FileInputStream inputStream2 = new FileInputStream(file1);
FileOutputStream outputStream1 = new FileOutputStream(file2);
FileOutputStream outputStream2 = new FileOutputStream(file3);
int count = 0;
int firstBytes = 0;
int secondBytes = 0;
int sum = 0;
int readByte = 0;
while (inputStream1.available() > 0) {
inputStream1.read();
sum++;
}
if(sum%2 != 0) {
// System.out.println("ODD: " + inputStream2.available() );
while (inputStream2.available() > 0) {
readByte = inputStream2.read();
count++;
if(count <= (sum / 2 )) {
outputStream1.write(readByte);
firstBytes++;
}else {
outputStream2.write(readByte);
secondBytes++;
}
}
}else {
// System.out.println("EVEN: " + inputStream2.available() );
while (inputStream2.available() > 0) {
readByte = inputStream2.read();
count++;
if(count <= sum/2) {
outputStream1.write(readByte);
firstBytes++;
}else {
outputStream2.write(readByte);
secondBytes++;
}
}
}
// System.out.println("firstBytes " + firstHalf);
// System.out.println("secondBytes " + secondHalf);
inputStream1.close();
inputStream2.close();
outputStream1.close();
outputStream2.close();
}
}