如何使用java.io
个包重命名文件?
答案 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表示更细微的行为(例如,如果文件已存在,您是否希望发生什么,是否必须以原子方式完成等)