如何在Linux中使用ImageIO.write()保存图像?

时间:2014-05-09 07:10:55

标签: java linux userappdatapath

我想在启动我的java应用程序时将图像保存到用户计算机。为此,我编写了如下代码:

BufferedImage image = null;
        try {

            URL url = new URL(logourl);
            image = ImageIO.read(url);

            ImageIO.write(image, "png",new File("/usr/swa.png"));

        } catch (IOException e) {
            e.printStackTrace();
        }

但是它给了我

java.io.FileNotFoundException: /usr/swa.png (Permission denied)

但如果我使用

ImageIO.write(image, "png",new File("/home/MyUserName/Desktop/applicationName/logo.png"));

然后保存图像。 我不明白为什么它不能访问那条路径,如果它适用于/home/MyUserName/Desktop/applicationName/logo.png这条路径。

基本上当用户安装应用程序时,我想从网址获取图像并将其保存到用户的本地机器上,这样我需要实现这个目标吗?

编辑:更正了例外

1 个答案:

答案 0 :(得分:3)

您没有/usr,的写入权限,或者文件/usr/swa.png已经存在且不太可能已被删除或写入。