При решении задачи создал два файлика .txt на рабочем и из одного переписывал данные во второй. Результат получился странный в файле в который осуществлялась запись, но судя по дебагеру, перестановка байтов прошла верно, но валидатор не пропускает. Прошу помочь, и подсказать в чем проблема в данном случае?
package com.javarush.task.pro.task15.task1504;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Scanner;
/*
Перепутанные байты
*/
public class Solution {
public static void main(String[] args) {
try (Scanner sc = new Scanner(System.in);
InputStream is = Files.newInputStream(Paths.get(sc.nextLine()));
OutputStream os = Files.newOutputStream(Paths.get(sc.nextLine()));
) {
byte[] in = is.readAllBytes();
byte[] out = new byte[in.length];
for (int i = 1; i <= in.length+1; i++) {
if (i % 2 == 0) {
out[i-2] = in[i-1];
out[i-1] = in[i-2];
} else{
out[i-1] = in[i-1];
}
os.write(out);
}
}
catch(IOException e){
System.out.println("Something went wrong : " + e);
}
}
}