• how to download image from any web page in java 下载图片


    http://stackoverflow.com/questions/5882005/how-to-download-image-from-any-web-page-in-java

    (throws IOException)
    
    Image image = null;
    try {
        URL url = new URL("http://www.yahoo.com/image_to_read.jpg");
        image = ImageIO.read(url);
    } catch (IOException e) {
    }

    See javax.imageio package for more info. That's using the AWT image. Otherwise you could do:

     URL url = new URL("http://www.yahoo.com/image_to_read.jpg");
    InputStream in = new BufferedInputStream(url.openStream());
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    byte[] buf = new byte[1024];
    int n = 0;
    while (-1!=(n=in.read(buf)))
    {
       out.write(buf, 0, n);
    }
    out.close();
    in.close();
    byte[] response = out.toByteArray();

    And you may then want to save the image so do:

    FileOutputStream fos = new FileOutputStream("C://borrowed_image.jpg");
    fos.write(response);
    fos.close();
    shareimprove this answer
     
    2  
    For Java7 modify the code snippet to use the try-with-resources statement, seedocs.oracle.com/javase/tutorial/essential/exceptions/… – Gonfi den Tschal Jul 7 '13 at 1:18

    You are looking for a web crawler. You can use JSoup to do this, here is basic example

    shareimprove this answer
     

    It works for me)

    URL url = new URL("http://upload.wikimedia.org/wikipedia/commons/9/9c/Image-Porkeri_001.jpg");
    InputStream in = new BufferedInputStream(url.openStream());
    OutputStream out = new BufferedOutputStream(new FileOutputStream("Image-Porkeri_001.jpg"));
    
    for ( int i; (i = in.read()) != -1; ) {
        out.write(i);
    }
    in.close();
    out.close();
    shareimprove this answer
     

    If you want to save the image and you know its URL you can do this:

    try(InputStream in = new URL("http://example.com/image.jpg").openStream()){
        Files.copy(in, Paths.get("C:/File/To/Save/To/image.jpg"));
    }

    You will also need to handle the IOExceptions which may be thrown.

    shareimprove this answer
     

    The following code downloads an image from a direct link to the disk into the project directory. Also note that it uses try-with-resources.

    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.MalformedURLException;
    import java.net.URL;
    
    import org.apache.commons.io.FilenameUtils;
    
    public class ImageDownloader
    {
        public static void main(String[] arguments) throws IOException
        {
            downloadImage("https://upload.wikimedia.org/wikipedia/commons/7/73/Lion_waiting_in_Namibia.jpg",
                    new File("").getAbsolutePath());
        }
    
        public static void downloadImage(String sourceUrl, String targetDirectory)
                throws MalformedURLException, IOException, FileNotFoundException
        {
            URL imageUrl = new URL(sourceUrl);
            try (InputStream imageReader = new BufferedInputStream(
                    imageUrl.openStream());
                    OutputStream imageWriter = new BufferedOutputStream(
                            new FileOutputStream(targetDirectory + File.separator
                                    + FilenameUtils.getName(sourceUrl)));)
            {
                int readByte;
    
                while ((readByte = imageReader.read()) != -1)
                {
                    imageWriter.write(readByte);
                }
            }
        }
    }
  • 相关阅读:
    NIO单一长连接——dubbo通信模型实现
    小谈网络游戏同步
    网络游戏同步问题综述
    TortoiseSVN客户端重新设置用户名和密码
    SVN服务器搭建和使用(三)
    SVN服务器搭建和使用(二)
    SVN服务器搭建和使用(一)
    Firefly 流程架构
    unity3d 手机震动
    Unity AssetBundle爬坑手记
  • 原文地址:https://www.cnblogs.com/donaldlee2008/p/5281965.html
Copyright © 2020-2023  润新知