package com.levelup.java.net;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
import javax.imageio.ImageIO;
import org.junit.Test;
import com.google.common.io.Resources;
/**
* This java example will show how to download image from webpage.
*
* @author Justin Musgrove
* @see <a href=
* 'http://www.leveluplunch.com/java/examples/download-image-from-webpage/'>Download
* image from web page</a>
*/
public class DownloadImageFromWebPage {
String IMAGE_URL = "https://www.google.com/images/srpr/logo11w.png";
String IMAGE_NAME = "google-logo.png";
@Test
public void using_using_awt() throws IOException {
URL imageUrlToDownload = new URL(IMAGE_URL);
BufferedImage imageToDownload = ImageIO.read(imageUrlToDownload);
File outputFile = new File("awt-" + IMAGE_NAME);
ImageIO.write(imageToDownload, "png", outputFile);
}
@Test
public void download_image_java7() throws IOException {
URL imageLocation = new URL(IMAGE_URL);
ReadableByteChannel rbc = Channels.newChannel(imageLocation
.openStream());
FileOutputStream outputStream = new FileOutputStream("java7-"
+ IMAGE_NAME);
outputStream.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
outputStream.close();
}
@Test
public void download_image_guava() throws IOException {
URL fetchImage = new URL(IMAGE_URL);
byte[] imageAsArray = Resources.toByteArray(fetchImage);
File fileToWriteTo = new File("guava-" + IMAGE_NAME);
com.google.common.io.Files.write(imageAsArray, fileToWriteTo);
}
}