File 的 renameTo(File )移动的时候可能会失败,失败原因如下:
1、renameTo()方法的新文件名称中不能还有任何符号包括(“ ”,“_”,“:”),只要去掉文件名中的符号就可以了。
参考链接:https://bbs.csdn.net/topics/370149191
2、File的renameTo(File )使用时,尽量不使用这个方法来移动文件,因为有可能移动的文件位置所在的磁盘格式不同,从而引发错误。
可以考虑使用apache组织的commons-io包里面的FileUtils#copyFile(File,File)和FileUtils#copyFileToDirectory(File,File)方法实现copy的效果。
至于删除,可以调用File#deleteOnExit()方法,在虚拟机终止的时候,删除掉这个目录或文件。
参考:http://xiaoych.iteye.com/blog/149328
参考链接中有实验和结果。
本文介绍了Java中File类renameTo方法的局限性及其替代方案。当遇到renameTo方法因目标位置磁盘格式不同而失败时,推荐使用commons-io库中的FileUtils#copyFile和FileUtils#copyFileToDirectory方法进行文件复制,并提供了文件删除的方法。

3909

被折叠的 条评论
为什么被折叠?



