Невозможно изменить имя файла с помощью File.renameTo () в GNU / Linux - PullRequest
1 голос
/ 27 декабря 2011

Я сталкиваюсь со странной проблемой при кодировании.Я должен переименовать файл с именем börsenzeitung_komplett в processed_börsenzeitung_komplett.

Я использую currentFile.renameTo(newFile) из Java API, , который работает нормально в системе Windows, но возвращает false в системе GNU / Linux.

1 Ответ

1 голос
/ 27 декабря 2011

Вам следует проверить привилегии выходного каталога (и при необходимости изменить его, используя chmod ) или, если целевой файл уже существует (я предполагаю, что вы не используете SecurityManager).

Как java.util.File Javadoc говорит:

Переименовывает файл, обозначенный этим абстрактным путем.

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

Обратите внимание, что класс Files определяет метод перемещения для перемещения или переименования файла независимо от платформы.

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