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
参考链接中有实验和结果。