public class Solution {
public static void main(String[] args) {
//String path1 = "c:\\src.txt";
// String path2 = "c:\\out.txt";
Scanner scanner = new Scanner(System.in);
Path path1 = Paths.get(scanner.nextLine());
Path path2 = Paths.get(scanner.nextLine());
try (InputStream input = Files.newInputStream(path1)
; OutputStream output = Files.newOutputStream(path2)) {
byte[] buffer = new byte[1024];
byte[] trimmed;
int real;
while ((real = input.read(buffer)) != -1) {
trimmed = Arrays.copyOf(buffer, real);
output.write(revers(trimmed), 0, real);
}
} catch (IOException e) {
e.printStackTrace();
}
}
static byte[] revers(byte[] rev) {
for (int i = 0; i < rev.length; i += 2) {
if (i + 1 < rev.length) {
byte tmp = rev[i];
rev[i] = rev[i + 1];
rev[i + 1] = tmp;
} else return rev;
}
return rev;
}
}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.Arrays;
import java.util.Scanner;
/*
Перепутанные байты
*/
import java.io.*;
import java.nio.file.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Path path1 = Paths.get(scanner.nextLine());
Path path2 = Paths.get(scanner.nextLine());
try (InputStream input = Files.newInputStream(path1);
OutputStream output = Files.newOutputStream(path2)) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = input.read(buffer)) != -1) {
// Обрабатываем только фактически прочитанные байты
byte[] processed = processBytes(buffer, bytesRead);
output.write(processed);
}
} catch (IOException e) {
e.printStackTrace();
}
}
static byte[] processBytes(byte[] data, int length) {
// Создаем массив для результата
byte[] result = new byte[length];
// Обрабатываем пары байтов
for (int i = 0; i < length; i += 2) {
if (i + 1 < length) {
// Меняем местами пару байтов
result[i] = data[i + 1];
result[i + 1] = data[i];
} else {
// Один непарный байт в конце - оставляем как есть
result[i] = data[i];
}
}
return result;
}
}