Сохранение файла с использованием JFileChooser - PullRequest
1 голос
/ 27 июля 2011

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

1 Ответ

2 голосов
/ 27 июля 2011

Только и только если они находятся в той же локальной дисковой файловой системе, вы можете использовать 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:

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

...