Java скопировать и переименовать файл изображения в другой каталог - PullRequest
0 голосов
/ 04 ноября 2011
   String name = "";
   File destFile = new File(folderPath + catalogueFileName + itemName.getText());
   if (!destFile.exists()) {
       destFile.createNewFile();
   }

   FileChannel fileSource = new FileInputStream(imagePath).getChannel();
   FileChannel destination = new FileInputStream(folderPath
       + catalogueFileName ).getChannel();
   destination.transferFrom(fileSource, 0, fileSource.size());

   JOptionPane.showMessageDialog(null, "A new entry added successfully.");
   if (fileSource != null) {
       fileSource.close();
   }
   if (destination != null) {
       destination.close();
   }

Я использую приведенный выше код для копирования файла изображения и переименования файла изображения в другой каталог, если пользовательский ввод itemname = "music", я хочу переименовать имя изображения в музыку расширение изображения

Но я получил это исключение

Exception occurred during event dispatching:
java.nio.channels.NonWritableChannelException
    at sun.nio.ch.FileChannelImpl.transferFrom(FileChannelImpl.java:584)

1 Ответ

2 голосов
/ 04 ноября 2011

destination должно быть FileOutputStream, верно?

FileChannel destination = new FileOutputStream(folderPath
       + catalogueFileName).getChannel();

Если вы просто хотите скопировать или переместить файл, вам следует использовать FileUtils из Apache Commons . Существует метод moveFile и метод copyFile .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...