2011-07-27 2 views
1

Я хочу сохранить файл в другой каталог, который пользователь выбирает из одного каталога. Я знаю, что JFileChooser может использоваться для выбора файла. Но вместо того, чтобы использовать любые потоки выходных потоков, есть ли способ переместить файл из одного места в другое в Java?Сохранение файла с помощью JFileChooser

ответ

2

Только и только если они находятся на той же локальной файловой системой на диске, вы можете использовать File#renameTo() для этого.

File sourceFile = createItSomehow(); 
File targetFile = chooser.getSelectedFile(); 

boolean renamed = sourceFile.renameTo(targetFile); 

if (!renamed) { 
    // Well, perhaps they are not on the same disk? 
} 

Для всех остальных случаев вам действительно лучше, просто посылая его. Смотрите также связанный Javadoc:

Многие аспекты поведения этого метода являются по своей сути зависит от платформы: Операция переименования может быть не в состоянии переместить файл из одной файловой системы в другую, она не может быть атомарной, и это может не сработать, если файл с целевым именем пути назначения уже существует. Всегда нужно проверить возвращаемое значение, чтобы убедиться, что операция переименования прошла успешно.

Смежные вопросы