我有java代码下面的代码片断:为什么一个文件重命名失败在Java
File directoryToMoveTo = new File(file.getParent()+"_TEMP");
boolean success = file.renameTo(new File(directoryToMoveTo,file.getName()));
if (!success){
logger.warn("Failed to move [%s] to temp Directory.");
}
文件传递作为参数的方法,是这样获得的文件的阵列中的一个:
File[] files = directory.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
logger.debug(String.format("Testing file [%s]",name));
boolean passed = name.endsWith(getFileDescription().getFilePattern());
logger.debug(String.format("Passed [%s]",passed));
return passed;
}
});
为什么在第一个片段中通过false会成功?
我试着在不同的文件上隔离这个代码,它似乎工作。
您可以编辑自己的帖子没有得到一个“编辑”标志? – Stroboskop 2010-03-03 15:17:34
约翰Skeet可以做任何事情:)感谢乔恩,确实是这个问题...我添加了一个检查存在的目录和一个mkdir,如果它不存在。 – 2010-03-03 15:24:00
@Stroboskop:您可以对答案的前几分钟进行编辑。 – 2010-03-03 15:33:47