重命名文件

时间:2012-04-03 11:39:41

标签: java

在我的应用程序中,有一个文件可用于说 one.pdf 。我想在同一目录中将文件名更改为 two.pdf 。 我尝试使用不起作用的java。

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

2 个答案:

答案 0 :(得分: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();
        }
    }
}

答案 1 :(得分:0)

我不会立即看到您的代码出现问题,除非这是某种Windows路径或权限问题。如评论中所述,您应始终显示例外或错误结果。

要考虑的一件事是更好地使用现有的File对象来重命名同一目录中的文件:

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

这将使用现有文件的目录并创建相对于它的新文件。