关于java 的File类的renameTo()方法的一点想法 |
您所在的位置:网站首页 › renameto目录不存在会自动创建吗 › 关于java 的File类的renameTo()方法的一点想法 |
最近学习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 |