1
在我的Java Spring Web應用程序中,我正在創建一個圖像文件。該文件並獲得一個臨時的名字,後來我嘗試使用其重命名:Java找不到服務器上存在的文件
public void rename(String productFilename){
String newProductFilename = "newfile.jpg";
File input = new File(imageDir + "/products/" + productFilename);
File output = new File(imageDir + "/products/" + newProductFilename);
Boolean checkRename = input.renameTo(output);
}
有關創建臨時文件,我使用的是:
public String generate(){
String productFilename = "filename.jpg";
ImageIO.write(out, imageFileType, new File(imageDir + "/products/" + productFilename));
return productFilename;
}
的imageDir
值是:在/ var /圖像
在整個課程中,imageDir變量都設置爲絕對路徑。奇怪的是,這一切都在Windows上很好,但在Linux上運行時,我得到了一個FileNotFoundException
。
我100%確定該文件存在。任何線索我做錯了什麼?
你也可以粘貼你得到的異常嗎? –
'newFilename'與'productFilename'不同嗎?您似乎使用不同的變量來創建和重命名。既然這可以在Windows上運行,那麼你是否遇到了一個案例問題?我會記錄用於寫入臨時文件的文件名以及用於重命名的文件名。 –
請參閱我的編輯。生成函數正在返回重命名函數正在使用的文件名。 – jorgen