Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java找不到服务器上存在的文件_Java_Spring_File Io - Fatal编程技术网

Java找不到服务器上存在的文件

Java找不到服务器上存在的文件,java,spring,file-io,Java,Spring,File Io,在我的JavaSpringWeb应用程序中,我正在创建一个图像文件。此文件将获得一个临时名称,稍后我将尝试使用以下方法重命名它: public void rename(String productFilename){ String newProductFilename = "newfile.jpg"; File input = new File(imageDir + "/products/" + productFilename); File output = new File

在我的JavaSpringWeb应用程序中,我正在创建一个图像文件。此文件将获得一个临时名称,稍后我将尝试使用以下方法重命名它:

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中识别。然而,这在不修剪窗口的情况下起作用。

我找到了解决方案。需要对文件名进行修剪,以便在Linux中识别。然而,这在Windows中不需要修剪就可以工作。

newFilename与productFilename是否不同?您似乎在创建和重命名时使用了不同的变量。由于这在Windows上有效,您是否有案例问题?我会记录写入临时文件时使用的文件名,以及重命名时使用的文件名。您还可以粘贴得到的异常吗?请查看我的编辑。generate函数正在返回重命名函数正在使用的文件名。重命名的签名看起来可疑。是否不希望公共无效重命名(字符串productFilename,字符串newProductFilename);我没有发布整个函数。newProductFilename是在重命名函数中生成的。“newFilename”与“productFilename”不同吗?您似乎在创建和重命名时使用了不同的变量。由于这在Windows上有效,您是否有案例问题?我会记录写入临时文件时使用的文件名,以及重命名时使用的文件名。您还可以粘贴得到的异常吗?请查看我的编辑。generate函数正在返回重命名函数正在使用的文件名。重命名的签名看起来可疑。是否不希望公共无效重命名(字符串productFilename,字符串newProductFilename);我没有发布整个函数。newProductFilename在重命名函数中生成。