В 14 и 15 строчках использую нужные методы, в конце блока try закрываю потоки, но валидация не проходит, что не так не пойму. При попытки запустить в режиме дебага в консоль выводиться это:
Connected to the target VM, address: '127.0.0.1:51089', transport: 'socket'
Disconnected from the target VM, address: '127.0.0.1:51089', transport: 'socket'
package com.javarush.task.pro.task15.task1504;
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Scanner;
/*
Перепутанные байты
*/
public class Solution {
public static void main(String[] args){
try(InputStream in = Files.newInputStream(Paths.get("C:\\Users\\kosav\\Desktop\\test1.txt"));
OutputStream out = Files.newOutputStream(Paths.get("C:\\Users\\kosav\\Desktop\\test2.txt"))){
byte[] buf = new byte[6];
while (in.available() > 1){
int read = in.read(buf);
if (buf.length % 2 == 0) {
for (int i = 0; i < buf.length; i = i + 2) {
byte t = buf[i];
buf[i] = buf[i + 1];
buf[i + 1] = t;
}
} else {
byte valid = buf[buf.length - 1];
for (int i = 0; i < buf.length; i = i + 2) {
byte t = buf[i];
buf[i] = buf[i + 1];
buf[i + 1] = t;
}
buf[buf.length-1] = valid;
}
out.write(buf, 0, read);
}
in.close();
out.close();
} catch (FileNotFoundException exception){
exception.printStackTrace();
} catch (IOException exception){
exception.printStackTrace();
}
}
}