Как сохранить изображение с помощью 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
уже существует и не может быть удален или записан вами.