使用Java移动和重命名文件

4
我希望使用Java移动并重命名文件。我尝试了以下代码,但无法重命名:任何帮助将不胜感激。谢谢。
public class MoveAndRenameFile {

public MoveAndRenameFile(){
    //Current Date and Time  
    DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    Date date = new Date();
    {
        File file = new File("C:\\FolderA\\Client.pdf");
        File newFile = new File(("C:\\FolderB\\Clientx.pdf"));
        if(file.renameTo(newFile)+dateFormat.format(date)){
            System.out.println("File rename success");;
        }else{
            System.out.println("File rename failed");
        }

    }

JVM应该如何确定它应该评估的顺序,如果您提供类似于file.renameTo(newFile)+dateFormat.format(date)的内容。 - vikeng21
1
考虑使用 Files.move 代替 File.renameTo。http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#move(java.nio.file.Path,%20java.nio.file.Path,%20java.nio.file.CopyOption...) - rob
1
还有,看起来你的右括号放错位置了。 - rob
1
解决方案是:File newFile = new File(("C:\FolderB\Clientx"+System.currentTimeMillis() +".pdf")); - user3610075
1个回答

10

Java 7对文件I/O API进行了重大的改变和改进。其中,传统(Java 7之前)文件API的问题之一是

• 重命名方法在不同平台上的工作效果不一致

NIO.2 API(Java 7引入的文件API)重命名文件的方式是使用Files.move

Files.move(file, newFile, StandardCopyOption.REPLACE_EXISTING);

Legacy File I/O Code中,将java.io.File功能映射到java.nio.file的部分将帮助您用新的文件操作替换旧的操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接