在我的 Java Spring Web 应用程序中,我正在创建一个图像文件。该文件获得一个临时名称,稍后我尝试使用以下方法重命名它:
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/images
在整个类中,imageDir 变量被设置为绝对路径。奇怪的是,这一切在 Windows 上运行得很好,但在 Linux 上运行时,我得到一个 FileNotFoundException
。
我 100% 确定该文件存在。关于我做错了什么有任何线索吗?
最佳答案
我找到了解决方案。文件名需要经过修剪才能在 Linux 中识别。然而,这在 Windows 中无需修剪即可工作。
关于Java 找不到服务器上存在的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8121613/