[Java/자바] Java url 이미지 파일로 저장하는 방법

간단하게 자바 콘솔 어플리케이션으로 이미지를 처리하는 프로그램을 만들고 싶은 경우가 있을 수 있습니다. 저 또한 간단하게 웹 상에 존재하는 이미지를 다운 받아 이미지에 워터마크를 넣어주는 프로그램을 만들려고 했었습니다.

이 글에서는 Java에서 웹 상에 존재하는 이미지를 받아와서 로컬에 저장하는 예제에 대해서 소개해드리겠습니다.

ImageIO 패키지

자바에서 제공하는 Image 관련한 패키지입니다. 다양한 기능들이 있지만 웹 상에 존재하는 이미지의 URL을 통해서 이미지를 로컬에 저장하는 예제를 보여드리겠습니다.

예제 코드

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URL;

public class Main {
  private final static String IMAGE_URL = "https://www.google.com/favicon.ico";
  public static void main(String[] args) {
    try {
      // if you want to get png or jpg ... you can do it
      URL url = new URL(IMAGE_URL);
      String extension = IMAGE_URL.substring(IMAGE_URL.indexOf('.') + 1);

      BufferedImage image = ImageIO.read(url);
      File file = new File("test.ico");

      ImageIO.write(image, extension, file);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

위 예제는 구글의 favicon을 가져와서 로컬에 환경에 저장하는 예제입니다.

  • URL을 ImageIO.read메소드의 파라미터로 넘겨 BufferedImage 객체에 데이터를 저장합니다.
  • test.ico라는 파일 객체를 만듭니다.
  • ImageIO.write 메소드를 이용하여 로컬에 저장합니다.

맺음

간단하게 Java의 ImageIO 패키지를 이용하여 웹 상에 있는 이미지를 로컬에 저장하는 방법에 대해서 알아보았습니다. 궁금하신 점이나 이상한 점은 댓글 부탁드리겠습니다.

Buy me a coffee
글이 도움이 되셨다면, 커피 한 잔만 사주세요!
Comments
Copied to clipboard