Валидатор не принимает по трем условиям, хотя потоки закрыты, используются методы newInputStream и newOutputStream класса Files, ну и если запустить отладку то цикл как раз меняет местами 1 на 2, 3 на 4 итд.
package com.javarush.task.pro.task15.task1504;
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Scanner;
/*
Перепутанные байты
*/
public class Solution {
public static void main(String[] args) throws IOException {
Scanner console;
InputStream bufferInput = null;
OutputStream writeOutput = null;
try {
console = new Scanner(System.in);
Path FileInput = Paths.get(console.nextLine());
Path FileOutput = Paths.get(console.nextLine());
bufferInput = Files.newInputStream(FileInput);
writeOutput = Files.newOutputStream(FileOutput);
byte[] bufferArray = new byte[100];
bufferInput.read(bufferArray);
byte[] ArrayCopy = new byte[100];
int counter = 1;
for (int i = 0; i < bufferArray.length; i++) {
if (counter % 2 != 0) {
ArrayCopy[i+1] = bufferArray[i];
}
if (counter % 2 == 0) {
ArrayCopy [i - 1] = bufferArray[i];
}
counter++;
}
writeOutput.write(ArrayCopy);
}
catch (IOException e) {
System.out.println("Error");
}
finally {
bufferInput.close();
writeOutput.close();
}
}
}