Java重命名文件– Jave移动文件

时间:2020-02-23 14:34:30  来源:igfitidea点击:

Java重命名文件或者移动文件是常见的IO操作。
我们可以对Java重命名文件和Java移动文件操作使用File.renameTo(File dest)方法。

Java重命名文件

如果文件重命名成功,文件renameTo方法将返回true,否则返回false。

一些重命名操作行为取决于平台。
例如,如果将文件从一个文件系统移动到另一个文件系统,或者目标目录中已经存在相同名称的文件,则可能会失败。

在Mac OS中,如果目标文件已经存在,则" renameTo()"会用源文件覆盖现有文件。

Java移动文件

移动文件是通过renameTo()函数本身实现的。
移动文件不会更改文件内容,只会更改其目录位置。
文件完整路径包含带有文件名的目录信息,renameTo方法也可以更改目录路径,从而移动文件。

Java重命名文件示例

这是示例程序,显示了Java重命名文件或者Java移动文件的不同方式。

RenameFileJava.java

package com.theitroad.files;

import java.io.File;

public class RenameFileJava {

  /**
   * Rename File  or Move File in Java example
   * @param args
   */
  public static void main(String[] args) {
      //absolute path rename file
      File file = new File("/Users/hyman/java.txt");
      File newFile = new File("/Users/hyman/java1.txt");
      if(file.renameTo(newFile)){
          System.out.println("File rename success");;
      }else{
          System.out.println("File rename failed");
      }
      
      //relative path rename file
      file = new File("DB.properties");
      newFile = new File("DB_New.properties");
      if(file.renameTo(newFile)){
          System.out.println("File rename success");;
      }else{
          System.out.println("File rename failed");
      }
      
      //java move file from one directory to another
      file = new File("/Users/hyman/DB.properties");
      newFile = new File("DB_Move.properties");
      if(file.renameTo(newFile)){
          System.out.println("File move success");;
      }else{
          System.out.println("File move failed");
      }
      
      //when source file is not present
      file = new File("/Users/hyman/xyz.txt");
      newFile = new File("xyz.properties");
      if(file.renameTo(newFile)){
          System.out.println("File move success");;
      }else{
          System.out.println("File move failed");
      }
      
      //when destination already have a file with same name
      file = new File("/Users/hyman/export.sql");
      newFile = new File("/Users/hyman/java1.txt");
      if(file.renameTo(newFile)){
          System.out.println("File move success");;
      }else{
          System.out.println("File move failed");
      }
  }

}

我们应始终检查namedTo返回值,以确保重命名文件成功,因为该文件依赖于平台,并且如果重命名失败,也不会引发IO异常。