比如图片 www.baidu。com/img。jpg
我要保存到本地怎么保存?

解决方案 »

  1.   

    import java.net.*;
    import java.io.*;
    import java.awt.Image;
    import java.awt.*;
    import java.awt.image.BufferedImage;
    import javax.imageio.ImageIO;
    public class GetImage(){
    public static void main(String[] args){
    URL imageUrl = new URL("http://www.androidguys.com/2010/02/12/google-free-nexus-ted-attendees/ted_image/");
    Image image = java.awt.Toolkit.getDefaultToolkit().getDefaultToolkit().createImage(imageUrl);
    BufferedImage image = toBufferedImage(image);
    save(image, "jpg");
    }

    private static void save(BufferedImage image, String ext) {
            String fileName = "savingAnImage";
            File file = new File(fileName + "." + ext);
            try {
                ImageIO.write(image, ext, file);  // ignore returned boolean
            } catch(IOException e) {
                System.out.println("Write error for " + file.getPath() +
                                   ": " + e.getMessage());
            }
        }    private static BufferedImage toBufferedImage(Image src) {
            int w = src.getWidth(null);
            int h = src.getHeight(null);
            int type = BufferedImage.TYPE_INT_RGB;  // other options
            BufferedImage dest = new BufferedImage(w, h, type);
            Graphics2D g2 = dest.createGraphics();
            g2.drawImage(src, 0, 0, null);
            g2.dispose();
            return dest;
        }
    }
      

  2.   

    不好意思贴错代码了,下面是代码,刚刚起床脑子还迷糊呢:
    import java.net.*;
    import java.io.*;
    import java.awt.image.BufferedImage;
    import javax.imageio.ImageIO;
    public class GetImage{
    public static void main(String[] args) throws IOException{
    URL imageUrl = new URL("http://sweetsoulbakery.com/images/transformer300.jpg");
    BufferedImage image = ImageIO.read(imageUrl);
    save(image, "jpg");
    }

    private static void save(BufferedImage image, String ext) {
            String fileName = "imageFromInternet";
            File file = new File(fileName + "." + ext);
            try {
                ImageIO.write(image, ext, file);  // ignore returned boolean
            } catch(IOException e) {
                System.out.println("Write error for " + file.getPath() +
                                   ": " + e.getMessage());
            }
        }
    }
      

  3.   

    看到 你一楼 的回复 我就纳闷了认为 你是不是 swing  和 awt  用多了??
      

  4.   

    三楼的什么意思?swing,awt 没怎么用过,只是知道,然后网上找了点代码试了试改了该就贴上去了,原理不是太懂。高手指点指点,让大家都学学。