В строке sourceChannel.close();
.
имеется исключение NullPointerException. Это означает, что строка sourceChannel = new FileInputStream(source).getChannel();
не была успешно завершена.
Строка sourceChannel = new FileInputStream(source).getChannel();
не завершится успешно, если new FileInputStream(source)
выдает FileNotFoundException
, из которых FileInputStream JavaDoc говорит:
FileNotFoundException - если файл не существует, это каталог, а не обычный файл, или длянекоторые другие причины не могут быть открыты для чтения.
Чтобы проверить это, вы можете добавить следующие строки в начале вашего метода:
System.out.format("%s - isFile: %b, isDirectory: %b, canRead: %b",
source, source.isFile(), source.isDirectory(), source.canRead());
В этой строке должно быть выведено имяваш исходный файл, за которым следует "- isFile: true, isDirectory: false, canRead: true".
Чтобы скопировать все файлы из каталога в какой-либо другой каталог, вы можете использовать Apache Commons IO, FileUtils.copyFile метод:
FileUtils.copy(source, dest);