【问题标题】:How to rename a file using java.io packages?如何使用 java.io 包重命名文件?
【发布时间】:2011-05-21 07:25:52
【问题描述】:

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

【问题讨论】:

  • 下次遇到问题时,请表现出一些主动性并猜测作为可能具有操作的可能类的意义,然后尝试阅读文档。当一个人开始或试图解决问题时,思考、阅读和尝试是成功的一半。

标签: java file-io


【解决方案1】:
File oldfile = new File(old_name);
File newfile = new File(new_name);
boolean Rename = oldfile.renameTo(newfile);

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

【讨论】:

    【解决方案2】:
    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

    【讨论】:

      【解决方案3】:

      使用java.io.FilerenameTo 方法。

      【讨论】:

        【解决方案4】:

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

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

        人们更喜欢这种方法的原因是java.io.File#renameTo 中记录的这种行为:

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

        注意,Files 类定义了 move 方法来移动或重命名一个 以独立于平台的方式文件。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-08-14
          • 2020-04-03
          • 2011-01-30
          • 2011-03-30
          • 2012-06-01
          • 2017-07-25
          • 1970-01-01
          相关资源
          最近更新 更多