- try {
- URL url = new URL(inUrl);
- Image src = javax.imageio.ImageIO.read(url); // 構造Image對象
- int width = src.getWidth(null); // 得到源圖寬
- int height = src.getHeight(null); // 得到源圖長
- BufferedImage tag = new BufferedImage(width, height,
- BufferedImage.TYPE_INT_RGB);
- tag.getGraphics().drawImage(src, 0, 0, width, height, null); // 繪製縮小後的圖
- //構造文件名
- int startIndex = inUrl.lastIndexOf("/");
- String filepath = "E:/workspace/CrawlPicture/pic/"+inUrl.substring(startIndex+1);
- FileOutputStream out = new FileOutputStream(filepath);
- JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
- encoder.encode(tag); // 近JPEG編碼
- // System.out.print(width+ "* "+height);
- out.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
此段代碼實現的功能是將web頁面上的jpg圖片保存到本地
需要注意的一點,在調用com.sun.image.codec.jpeg包的JPEG編碼器對其編碼時,會提示Access restriction:The type JPEGCodec is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\rt.jar 此種錯誤,此時先remove掉JRE System Library,然後再將JDK路徑下的 rt.jar 包放到根目錄下單獨的Build Path引用