在我的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 - Java找不到服务器上存在的文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8121613/

10-11 00:11