Files.copy(). Относительный путь

Files.copy(). Относительный путь

Если в метод Files.copy() передаётся относительный путь файла, в который производится копирование, он будет создан относительно файла .class, в котором этот метод вызывается, а не относительно файла, из которого производится копирование.

Пусть копируемый файл находится по пути C:\path_1\my_file.txt.
Скомпилированный файл приложения находится по пути C:\path_2\classes\MyJavaClass.class


Path from = Paths.get("C:\\path_1\\my_file.txt.");
Path to = Paths.get("my_file_copy.txt");
Files.copy(from, to);
Тогда скопированный файл будет создан по пути C:\path_2\classes\my_file_copy.txt, а не C:\path_1\my_file_copy.txt
Потоки ввода/вывода