Java file类中renameTo方法操作实例

作者:有点浪的程序员 时间:2021-06-13 01:21:03 

renameTo方法

public boolean renameTo(File dest),File类中的renameTo方法可以操作文件或目录。

1. 操作文件

1.1 在同一目录下操作

Java file类中renameTo方法操作实例

1.重命名前的文件不存在。如图1.1:若hello1目录下无a.txt文件,或者hello1目录根本不存在,执行
renameTo方法会返回false。

2.重命名后的文件已存在。如图1.1:若hello1目录下已经有一个aa.txt文件,执行renameTo方法会返回false。

3.重命名前的文件存在,重命名后的文件不存在。如图1.1:若hello1目录下有a.txt文件,没有aa.txt文件。执行renameTo方法会返回true。hello1目录下的a.txt文件被重名为aa.txt文件(a.txt文件消失)。

1.2 在不同目录下操作

Java file类中renameTo方法操作实例

1.重命名前的文件不存在,如图1.2:若hello1目录下的a.txt文件不存在,或者该目录根本就不存在,执行renameTo方法会返回false。

2.重命名后的目录不存在,如图1.2:若hello2目录不存在,执行renameTo方法会返回false。

3.重命名后的文件已经存在,如图1.2:若hello2目录下面已经有一个aa.txt文件,执行renameTo方法会返回false。

4.重命名前的文件存在,重命名后的文件不存在。如图1.2:若hello1目录下有一个a.txt文件,hello2目录下无aa.txt文件,执行renameTo方法会返回true。hello1目录下的a.txt文件会被移动到hello2目录下被命名为aa.txt文件(hello1目录下的a.txt文件消失)。

2.操作目录

2.1在同一目录下操作

Java file类中renameTo方法操作实例

1.重命名前的目录不存在,如图2.1:若hello11目录不存在,执行renameTo方法会返回false。

2.重命名后的目录已存在,如图2.1:若hello22目录已经存在,执行renameTo方法会返回false。

3.重命名前的目录存在,重命名后的目录不存在。如图2.1:若hello11目录存在,hello22目录不存在。执行renameTo方法会返回true。执行完renameTo方法。hello11目录被命名为hello22(hello11目录消失)。

2.2在不同目录下操作

Java file类中renameTo方法操作实例

1.重命名前的目录不存在,如图2.2:若hello11目录不存在,执行renameTo方法会返回false。

2.重命名后的目录已存在,如图2.2:若hello2目录下面已经有一个hello22的子目录,执行renameTo方法会返回false。

3.重命名前的目录存在,重命名后的目录不存在。如图2.2:若hello11目录存在,hello22目录不存在。执行renameTo方法会返回true。执行完renameTo方法。hello1目录下的hello11目录移动到hello2目录下被重命名为hello22(hello1目录下的hello11目录消失)。

File.renameTo()无效-解决

File.renameTo()在windows下运行正常,可正常移动文件。但在linux下就失败了,代码运行正常,但文件没有移动。

这种情况下可以使用Files.move代替。

//import java.nio.file.*;

//重命名文件
//    new File(tempFile).renameTo(new File(outFile));
Files.move(Paths.get(tempFile), Paths.get(outFile), StandardCopyOption.REPLACE_EXISTING);

来源:https://blog.csdn.net/chenlang02/article/details/120646465

标签:java,file类,renameto方法
0
投稿

猜你喜欢

  • 详解关于SpringBoot的外部化配置使用记录

    2023-08-10 03:54:54
  • Java中StringUtils与CollectionUtils和ObjectUtil概念讲解

    2023-11-29 07:45:38
  • 浅析Java中接口和抽象类的七大区别

    2022-01-16 21:09:36
  • mybatis-generator生成文件覆盖问题的解决

    2023-03-11 15:35:01
  • Java实现二分搜索树的示例代码

    2023-08-05 10:43:40
  • Lombok 的@StandardException注解解析

    2022-09-16 23:37:19
  • Java监听器ActionListener与MouseListener的执行顺序说明

    2022-02-04 20:08:23
  • Spring中propagation的7种事务配置及说明

    2023-01-02 09:47:26
  • Android中关于递归和二分法的算法实例代码

    2023-07-05 04:19:04
  • Android Build类的详解及简单实例

    2023-07-02 21:12:45
  • IDEA中多行注释及取消注释的快捷键分享

    2022-02-01 06:31:17
  • 为SpringBoot服务添加HTTPS证书的方法

    2023-10-11 03:03:22
  • Filter过滤器和Listener监听器详解

    2021-08-20 07:39:38
  • Android Studio设置或修改Android SDK路径方法

    2023-11-07 17:22:10
  • 使用webmagic实现爬虫程序示例分享

    2021-10-08 22:10:26
  • Java设计模式之享元模式实例详解

    2021-12-19 17:54:00
  • Winform项目中TextBox控件DataBindings属性

    2023-03-29 15:25:15
  • Android10 分区存储的适配规则

    2022-11-25 12:22:53
  • Android Studio下Flutter环境搭建图文教程

    2023-11-06 00:08:03
  • Spring Boot2如何构建可部署的war包

    2023-11-29 06:40:59
  • asp之家 软件编程 m.aspxhome.com