我使用以下代码将 BufferedImage
保存到磁盘:
savePath = new File(path);
savePath.mkdirs();
savePath.createNewFile();
javax.imageio.ImageIO.write(img, "png", savePath);
这段特定的代码在服务器上执行,并且针对每个客户端请求运行大约 10 次。大多数情况下(10 个请求中有 9 个),它工作正常,并且图像按预期保存到磁盘。
但是,有时我在 ...ImageIO.write()
上收到 java.io.FileNotFoundException(访问被拒绝)
行,且图像未保存。 (该文件夹仍然被创建)
什么会导致异常?
最佳答案
很难相信这真的有效。您正在通过调用 mkdirs()
将 savePath
创建为目录,然后尝试将其创建为文件。您需要改为调用 savePath.getParentFile().mkdirs()
。
createNewFile()
调用是多余的。
关于java - 获取 java.io.FileNotFoundException(访问被拒绝),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13302653/