Я пытаюсь переименовать файл с помощью Java, но по какой-то причине он не работает

1
File oldfile = new File("C:\\NewText Document.txt");
File newfile = new File("C:\\Hello Buddy.txt");

if (oldfile.renameTo(newfile))
{
   System.out.println("Rename succesful");
}
else
{
   System.out.println("Rename failed");
}

Я планирую разработать его в нормализатор файлов, но я просто хочу сделать это в первую очередь. Я пробовал использовать абсолютный путь, не имеет значения. Постоянное возвращение "Переименовать сбой".

  • 5
    Файл действительно существует? У вас есть права на запись в `C: \`?
  • 0
    Действительно, что возвращает oldfile.isFile ()? или существует ()? И еще нет "привет buddy.txt", верно? А у вашего пользователя есть права на переименование файлов в c: \?
Показать ещё 1 комментарий
Теги:
file
boolean
filepath
file-rename

3 ответа

0
Лучший ответ

FileChooser(); Файл oldfile = новый файл (имя_файла);

    File newfile = new File(fileName.substring(0, 21) + "hello world.txt");
    if (!oldfile.exists())
    {
        try
        {
            oldfile.createNewFile();
        }
        catch (IOException ex)
        {
            System.out.println(ex);
        }
    }
    else
    {

        if (oldfile.renameTo(newfile))
        {

            System.out.println("Rename succesful");
        }
        else
        {
            System.out.println("Rename failed");
        }
    }

Это мой новый код, он работает с помощью выбора файла, но в настоящее время он работает только в том случае, если я выбираю файл с моего рабочего стола, а значит, и подстроку hardcoded.

1

Используйте метод перемещения класса Files. Работал для меня;)

Java-документ

1

Если вы используете Java 7, попробуйте следующее:

    final File oldfile = new File("C:\\NewText Document.txt");
    final File newfile = new File("C:\\Hello Buddy.txt");

    final Path source = oldfile.toPath();
    final Path dest=newfile.toPath();

    try {
         Files.move(source, dest);
    } catch (IOException e) {
         e.printStackTrace();
    }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню