关于java 的File类的renameTo()方法的一点想法

您所在的位置:网站首页 renameto目录不存在会自动创建吗 关于java 的File类的renameTo()方法的一点想法

关于java 的File类的renameTo()方法的一点想法

2024-07-11 09:21| 来源: 网络整理| 查看: 265

      最近学习java时发现了一个问题,renameTo()方法是将文件重命名, 还是拷贝一份然后重命名?

      首先,我写了这样的代码

 import java.io.File; import java.io.IOException; import java.util.Date; public class UseFile { public static void main(String args[]) throws Exception { // 创建目录 File dir1 = new File("D:\\dir1"); if (!dir1.exists()) { dir1.mkdir(); } // 在某个目录下 创建目录 File dir2 = new File("D:\\dir1", "dir2"); if (!dir2.exists()) { dir2.mkdirs(); } // 在某个目录下 创建多层目录 File dir4 = new File(dir1, "dir3\\dir4"); if (!dir4.exists()) dir4.mkdirs(); // 在某个目录下 创建文件 File file = new File(dir2, "test.txt"); if (!file.exists()) file.createNewFile(); file = new File("D:/dir1/mytest.exe"); if (!file.exists()) file.createNewFile();          dir2.renameTo(new File("D:\\dir1/sy1")); //dir2.renameTo(new File("D:/dir1/sy2"));

}

结果是

再运行的代码如下

 import java.io.File; import java.io.IOException; import java.util.Date; public class UseFile { public static void main(String args[]) throws Exception { // 创建目录 File dir1 = new File("D:\\dir1"); if (!dir1.exists()) { dir1.mkdir(); } // 在某个目录下 创建目录 File dir2 = new File("D:\\dir1", "dir2"); if (!dir2.exists()) { dir2.mkdirs(); } // 在某个目录下 创建多层目录 File dir4 = new File(dir1, "dir3\\dir4"); if (!dir4.exists()) dir4.mkdirs(); // 在某个目录下 创建文件 File file = new File(dir2, "test.txt"); if (!file.exists()) file.createNewFile(); file = new File("D:/dir1/mytest.exe"); if (!file.exists()) file.createNewFile();          dir2.renameTo(new File("D:\\dir1/sy1")); dir2.renameTo(new File("D:/dir1/sy2"));

}

结果却是

结果“拷贝”了一份。

      后来发现是这样的,第二次运行,又建立了文件dir2,然后重命名为sy2,文件sy1是第一次运行的结果。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3