最近在接手老项目的时候遇到File.renameTo(File file)方法,不清楚特性于是研究了下源码,发现底层调用的是Native方法实现的本身带着对其用法的困惑,写了一个测试用例来揭开它的神秘面紗发现两个在使用时值得注意的点。
第一次运行程序目录下1.txt和2.txt均不存在
可以看出调用renameTo前后,1.txt先是存在然后消失,最后文件夹中生成叻2.txt
为了方便比较第二次结果,往2.txt写入些内容“hello world!”(原谅我的中二 ^-^)
第二次运行程序,目录下已存在2.txt得到结果如下:
2.txt中的内容并没有被替换掉,证明此次重命名没有成功
- 如果被重命名的文件已存在,那么renameTo()不会成功
- renameTo()成功后原文件会被删除