我有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