How to Rename a File in Java
Java provides a built-in class java.io.File for standard file operations. This can be used for renaming files as well. The following example shows how a file can be renamed in Java.
import java.io.File;
/**
* How to rename a file in Java 7 and below.
* @author jj
*/
public class RenameFile1 {
public static void main(String[] args) {
// Please ensure that the following file/folder exists
File f = new File("c:/temp/test1.txt");
// The following file should not exist while running the program
File rF = new File("c:/temp/test2.txt");
if(f.renameTo(rF)) {
System.out.println("File was successfully renamed");
} else {
System.out.println("Error: Unable to rename file");
}
}
}
Since Java 8, a new class java.nio.file.Files was introduced. This is a more reliable and flexible option than the java.io.File. The following example shows the recommended way of renaming files in Java 8.
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
/**
* How to rename a file in Java 8 and above.
* @author jj
*/
public class RenameFile2 {
public static void main(String[] args) {
Path f = Paths.get("c:/temp/test1.txt");
Path rF = Paths.get("c:/temp/test2.txt");
try {
Files.move(f, rF, StandardCopyOption.REPLACE_EXISTING);
System.out.println("File was successfully renamed");
} catch (IOException e) {
e.printStackTrace();
System.out.println("Error: Unable to rename file");
}
}
}