使用Java程序重命名文件

时间:2020-01-09 10:35:36  来源:igfitidea点击:

这篇文章显示了如何使用Java程序重命名文件。 Java中用于重命名文件的选项如下所示

  • namedTo(File dest)-我们可以使用java.io.File类的namedTo()方法。参见示例。
  • Files.move()–从Java 7开始,我们还可以使用Files.move()方法重命名文件。参见示例。

使用namedTo()方法Java程序重命名文件

namedTo()方法重命名此抽象路径名表示的文件。

请注意,此方法的行为的许多方面本质上都依赖于平台:重命名操作可能无法将文件从一个文件系统移动到另一个文件系统,它可能不是原子的,如果带有目标的文件可能无法成功抽象路径名已存在。
仅当重命名成功时,方法才返回true;否则,方法将返回true。否则为假。应该始终检查返回值,以确保重命名操作成功。

在Java示例中,我们将介绍我们想在Unix系统中通过添加"。"来隐藏文件的情况。在文件名前面。为此,我们可以将文件重命名为新名称为"。" + fileName。

import java.io.File;

public class RenameFile {
  public static void main(String[] args) {		
    File file = new File("/home/theitroad/Documents/output");
    System.out.println("New Name- " + file.getParent()+"/."+file.getName());
    // renaming file 
    if(file.renameTo(new File(file.getParent()+"/."+file.getName()))) {
      System.out.println("File renamed successfully");
    }else {
      System.out.println("File renaming failed");
    }		
  }
}

输出:

New Name- /home/theitroad/Documents/.output
File renamed successfully

使用Files.move()方法Java程序重命名文件

Files.move()方法用于将文件移动或者重命名为目标文件。

这是一个重命名文件的Java示例,将文件保留在同一目录中。

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class RenameFile {
  public static void main(String[] args) {	
    // source files		
    Path filePath = Paths.get("/home/theitroad/Documents/output");
    try {
      //renaming file
      Files.move(filePath, filePath.resolveSibling("output_bck"));
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
}

Java示例,文件被重命名,并且也从/ home / theitroad / Documents /移到/ home / theitroad / Documents / Test目录。

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;

public class RenameFile {
  public static void main(String[] args) {			
    Path filePath = Paths.get("/home/theitroad/Documents/output");
    Path targetPath = Paths.get("/home/theitroad/Documents/Test/output_bck");
    try {
      Files.move(filePath, targetPath, StandardCopyOption.REPLACE_EXISTING);
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
}