我有以下代码来移动失败的文件:
public static void someFunction() {
Util.moveFile(new File("C:\\Users\\zumdamam\\workspace\\CareerBuilder\\data\\careerbuilder\\Java.html"), new File("C:\\temp\\Java.html"));
}
public static void moveFile(File src, File dest) {
try {
if (src.renameTo(dest)){
System.out.println("File is moved successful!");
} else{
System.out.println("File is failed to move!");
}
} catch(Exception e){
e.printStackTrace();
}
}
如果参数更改为
C:\\Users\\zumdamam\\workspace\\CareerBuilder\\data\\Java.html
那就成功了。有人知道为什么会这样吗?
谢谢
发布于 2013-09-23 23:58:28
在java中读取File.renameTo方法
该方法行为的许多方面本质上取决于平台:重命名操作可能无法将文件从一个文件系统移动到另一个文件系统,它可能不是原子文件,如果具有目标抽象路径名的文件已经存在,则可能无法成功。应始终检查返回值,以确保重命名操作成功。
你可以使用apache的FileUtils.moveFile
发布于 2013-09-24 00:08:06
这些是我(在windows机器上)想到的原因:
发布于 2013-09-24 00:11:50
当然了。'\‘是java字符串中的特殊字符(例如\n是新行,\u041f是某些Unicode字符)。如果您想使用“\”本身,则应该将“\”放入字符串中。
https://stackoverflow.com/questions/18975792
复制