java - 获取 java.io.FileNotFoundException(访问被拒绝)

标签 java

我使用以下代码将 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/

相关文章:

java - Webview AppCache 不加载源非 html 内容

java - 创建菜单资源会抛出 IllegalStateException

java - 是否可以在 Java 中合并迭代器?

java - 使用 Java 实现字符串数组 "is in"方法的有效方法

java - Retrofit:使用 GSON 将 JSON 解析为多个 Java 对象

java - 如何从 Activity 的 Recyclerview 中删除项目

java - 在 Eclipse 上运行动态 Web 项目在 Tomcat 7 中出现 404 错误

确定 mp3 文件中的 header 的 Java 代码

java - NavigationView 中的图标不显示

java - JTextField 无法正常工作