В правильном решении предлагается в 21 строчке использовать
outputStream.write(buffer, 0, read);
вместо моего
outputStream.write(buffer);
Хотя и с моим решением файлы прекрасно копируются. В чём разница?
package com.javarush.task.pro.task15.task1505;
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 scanner = new Scanner(System.in);
var inputStream = Files.newInputStream(Paths.get(scanner.nextLine()));
var outputStream = Files.newOutputStream(Paths.get(scanner.nextLine()))
) {
int size = 1024;
byte[] buffer = new byte[size];
while (inputStream.available() > 0) {
int read = inputStream.read(buffer);
outputStream.write(buffer);
}
} catch (Exception e) {
System.out.println("Something went wrong : " + e);
}
}
}