Table of Contents
간단하게 자바 콘솔 어플리케이션으로 이미지를 처리하는 프로그램을 만들고 싶은 경우가 있을 수 있습니다. 저 또한 간단하게 웹 상에 존재하는 이미지를 다운 받아 이미지에 워터마크를 넣어주는 프로그램을 만들려고 했었습니다.
이 글에서는 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 패키지를 이용하여 웹 상에 있는 이미지를 로컬에 저장하는 방법에 대해서 알아보았습니다. 궁금하신 점이나 이상한 점은 댓글 부탁드리겠습니다.
    Comments
  
  Copied to clipboard