В чем соль? Когда я создаю сканер в строке "try с ресурсами", программа мало того,что не записывает байты в файл, она еще и исходный очищает полностью. По итогу валидацию, что логично, не проходит по второму, а еще третьему и четвертому пунктам. Но..
Но когда я создаю сканер и переменные, хранящие расположения фалов до строки try (этот вариант решения закоменчен), все работает как надо, но не проходит валидацию по третьему и четвертому пунктам. Еще заметил, что ругается именно на последний объект try`а (переставлял местами). Тут я вообще не понимаю, в чем может быть проблема. Надеюсь кто-нибудь поможет. Спасибо.
package com.javarush.task.pro.task15.task1504;
import java.io.File;
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 scanner = new Scanner(System.in);
// Path inputFile = Path.of(scanner.nextLine());
// Path outputFile = Path.of(scanner.nextLine());
try (Scanner scanner = new Scanner(System.in);
InputStream input = Files.newInputStream(Path.of(scanner.nextLine()));
OutputStream output = Files.newOutputStream(Path.of(scanner.nextLine()));
) {
while (input.available() > 1) {
int buffer1 = input.read();
int buffer2 = input.read();
output.write(buffer2);
output.write(buffer1);
}
if (input.available() > 0) {
int buffer = input.read();
output.write(buffer);
}
}
catch (IOException e) {
System.out.println("oopsy");
e.printStackTrace();
}
}
}package com.javarush.task.pro.task15.task1504;
import java.io.File;
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 scanner = new Scanner(System.in);
// Path inputFile = Path.of(scanner.nextLine());
// Path outputFile = Path.of(scanner.nextLine());
try (Scanner scanner = new Scanner(System.in);
OutputStream output = Files.newOutputStream(Path.of(scanner.nextLine()));
InputStream input = Files.newInputStream(Path.of(scanner.nextLine()))
) {
while (input.available() > 1) {
int buffer1 = input.read();
int buffer2 = input.read();
output.write(buffer2);
output.write(buffer1);
}
if (input.available() > 0) {
int buffer = input.read();
output.write(buffer);
}
}
catch (IOException e) {
System.out.println("oopsy");
e.printStackTrace();
}
}
}