не проходит по пункту : Программа должна переписывать байты из одного файла в другой согласно условию.
Чего эта шайтан-машина от меня хочет?
зы. добавила условие на массив из 1 . Все равно не проходит
if (array.length % 2 == 0) {
for (int i = 0; i < array.length; i = i + 2) {
copyarray[i] = array[i + 1];
copyarray[i + 1] = array[i];
}
} else if (array.length == 1) {
copyarray[0] = array[0];
} else {
copyarray[array.length - 1] = array[array.length - 1];
for (int i = 0; i < array.length; i = i + 2) {
copyarray[i] = array[i + 1];
copyarray[i + 1] = array[i];
}
}
output.write(copyarray);
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.Path;
import java.nio.file.Paths;
import java.util.Scanner;
/*
Перепутанные байты
*/
public class Solution {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
try (var input = Files.newInputStream(Path.of(console.nextLine()));
OutputStream output = Files.newOutputStream(Path.of(console.nextLine()))) {
byte[] array = input.readAllBytes();
byte[] copyarray = new byte[array.length];
if (array.length % 2 != 0) {
copyarray[array.length - 1] = array[array.length - 1];
for (int i = 0; i < array.length; i = i + 2) {
copyarray[i] = array[i + 1];
copyarray[i + 1] = array[i];
}
} else {
for (int i = 0; i < array.length; i = i + 2) {
copyarray[i] = array[i + 1];
copyarray[i + 1] = array[i];
}
}
output.write(copyarray);
} catch (IOException ioException) {
ioException.printStackTrace();
}
//напишите тут ваш код
}
}