Как сохранить изображение с помощью ImageIO.write() в Linux?

Я хотел сохранить изображение на компьютере пользователя, пока он запускает мое 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 ответ

У вас нет разрешения на запись в /usr, или, менее вероятно, файл /usr/swa.png уже существует и не может быть удален или записан вами.

Другие вопросы по тегам