Java - org.apache.commons.io.FileUtils.copyFileToDirectory(sourceFile, назначение) не удается скопировать файлJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Java - org.apache.commons.io.FileUtils.copyFileToDirectory(sourceFile, назначение) не удается скопировать файл

Сообщение Anonymous »

Код: Выделить всё

private void copyFile() {
try {
String data = "C:\\Test_data\\My_Folder\\data";
String destination = "D:\\test\\CC";
File destDir = new File(destination);
File source = new File(data);
File files[] = source.listFiles();
for (File sourceFile : files) {
if (sourceFile.getName().equals("testdata.yaml")) {
if (destDir != null) {
FileUtils.copyFileToDirectory(sourceFile, destDir);
System.out.println("File copied");

}
}
}
} catch (IOException e) {
System.out.println("Error while copying file.......!!!!! ");
e.printStackTrace();
}
}
Я использовал библиотеку FileUtils (org.apache.commons.io.FileUtils) для копирования файла (FileUtils.copyFileToDirectory(sourceFile, destDir);) из одного места в другое
Копирование файла не работает и выдает следующую ошибку.

Ошибка при копировании файла.......!!!!!java.io.IOException: неверное имя пути
в java.base/java.io.WinNTFileSystem.canonicalize0(собственный метод)
в java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem. java:483)
в java.base/java.io.File.getCanonicalPath(File.java:626)
в org.apache.commons.io.FileUtils.requireCanonicalPathsNotEquals(FileUtils.java:2601)
в org.apache.commons.io.FileUtils.copyFile(FileUtils.java:842)
в org.apache.commons.io.FileUtils.copyFile(FileUtils.java:783)
в org.apache.commons.io.FileUtils.copyFileToDirectory(FileUtils.java:926)
в org.apache.commons.io.FileUtils.copyFileToDirectory(FileUtils.java:897)
в com.fileop .reader.App.addDatamapYamlToProjectLocation(App.java:29)
в com.fileop.reader.App.main(App.java:16)
в java.base/jdk.internal.reflect.NativeMethodAccessorImpl .invoke0(собственный метод) в java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
в java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 43)
в java.base/java.lang.reflect.Method.invoke(Method.java:566)
в org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java: 61)

Что я проверил:
На компьютере установлена ​​версия jdk 11
Копирование файлов работает нормально при использовании FileInputStream и FileOutputStream
При попытке копирования с помощью командной строки с помощью команды «копировать» все работает нормально.
Пользователь имеет доступ администратора.
Каталог вывода имеет доступ для чтения и записи.
Я пробовал включить проверку существования файла как на абсолютный, так и на канонический путь. path, существуют оба пути как для источника, так и для назначения.
Размер пути составляет менее 256 символов.
Примечание: С тем же jdk 11 и тем же кодом копирование файлов работает нормально на другом компьютере с помощью FileUtils.copyFileToDirectory(sourceFile, destDir);
Информация о компьютере:
• ОС: Windows
• Тип системы: 64-разрядная
• Версия: Windows 10 Professional Workstation
Ожидания: копирование файла должно происходить без ошибок с использованием FileUtils.copyFileToDirectory(sourceFile, destDir)

Подробнее здесь: https://stackoverflow.com/questions/785 ... -destinati
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»