2012-04-03 5 views
-1

В моей заявке есть файл, который
Скажите one.pdf. Я хочу изменить имя файла как two.pdf в том же каталоге.
Я пробовал использовать java, который не работает.Переименование файла

File f1=new File("E:\\one.pdf"); 
File f2=new File("E:\\two.pdf"); 
f1.renameTo(f2); 
+2

какой тип ошибки? –

+2

Какая ошибка у вас? Будьте более конкретными, пожалуйста, –

+0

Может быть, у вас уже есть файл с этим именем в том же каталоге .. (two.pdf) – Kayser

ответ

2

Ваш код имеет существенную ошибку:

Вы не проверить результат File#renameTo(). Переименование может завершиться неудачно, если вы активировали UAC или назначение недействительно.

public class Rename { 

    public static void main(String[] args) { 

     File f1=new File("c:\\tools\\one.pdf"); 
     File f2=new File("c:\\tools\\two.pdf"); 
     try{ 
      boolean result = f1.renameTo(f2); 
      System.out.println("worked? " + result); 
     }catch (Exception e){ 
      e.printStackTrace(); 
     } 
    } 
} 
0

Я не сразу вижу проблему с вашим кодом, если это не какая-то вещь в пути Windows или проблема с правами доступа. Как указано в комментариях, вы всегда должны показывать исключения или ошибки.

Одна вещь, чтобы рассмотреть вопрос было бы лучше использовать существующий File объект переименовать файл в том же каталоге:

// someExistingFile defined above 
File destinationFile = new File(someExistingFile.getParentFile(), "two.pdf"); 
someExistingFile.renameTo(destinationFile); 

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

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