如何使用java.io包重命名文件?

时间:2011-05-21 07:25:52

标签: java file-io

如何使用java.io个包重命名文件?

4 个答案:

答案 0 :(得分:8)

File oldfile = new File(old_name);
File newfile = new File(new_name);
boolean Rename = oldfile.renameTo(newfile);

如果成功重命名旧文件,则布尔值Rename将为真。

答案 1 :(得分:6)

import java.io.File;
import java.io.IOException
    public class Rename {
      public static void main(String[] argv) throws IOException {

        // Construct the file object. Does NOT create a file on disk!
        File f = new File("Rename.java~"); // backup of this source file.

        // Rename the backup file to "junk.dat"
        // Renaming requires a File object for the target.
        f.renameTo(new File("junk.dat"));
      }
    }

参考:http://www.java2s.com/Code/Java/File-Input-Output/RenameafileinJava.htm

答案 2 :(得分:3)

使用java.io.File的{​​{1}}方法。

答案 3 :(得分:0)

FWIW,从Java 7及更高版本开始,对此的首选答案应该是使用java.nio.file.Files#move

java.nio.file.Files.move(oldPath, newPath, StandardCopyOption.ATOMIC_MOVE)

之所以选择这种方法,是因为java.io.File#renameTo中记录的这种行为:

  

此方法行为的许多方面都是固有的   依赖于平台:重命名操作可能无法移动   从一个文件系统到另一个文件系统的文件,它可能不是原子的,它   如果文件具有目标抽象路径名,则可能不会成功   已经存在。应始终检查返回值以确保   重命名操作成功。

     

请注意,Files类定义了移动或重命名a的移动方法   以独立于平台的方式提交文件。

使用java.nio.file.Files#move时,可以指定standard CopyOption parameters表示更细微的行为(例如,如果文件已存在,您是否希望发生什么,是否必须以原子方式完成等)