获取远程图片宽高
import java.awt.image.BufferedImage; import java.io.BufferedInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.net.URL; public class ReturnImgWH { //读取远程url图片,得到宽高 public int[] returnImgWH(String imgurl) { boolean b=false; try { //实例化url URL url = new URL(imgurl); //载入图片到输入流 java.io.BufferedInputStream bis = new BufferedInputStream(url.openStream()); //实例化存储字节数组 byte[] bytes = new byte[100]; //设置写入路径以及图片名称 OutputStream bos = new FileOutputStream(new File("E:\\44.gif")); int len; while ((len = bis.read(bytes)) > 0) { bos.write(bytes, 0, len); } bis.close(); bos.flush(); bos.close(); //关闭输出流 b=true; } catch (Exception e) { //如果图片未找到 b=false; } int[] a = new int[2]; if(b){//图片存在 //得到文件 java.io.File file = new java.io.File("E:\\44.gif"); BufferedImage bi = null; boolean imgwrong=false; try { //读取图片 bi = javax.imageio.ImageIO.read(file); try{ //判断文件图片是否能正常显示,有些图片编码不正确 int i = bi.getType(); imgwrong=true; }catch(Exception e){ imgwrong=false; } } catch (IOException ex) { ex.printStackTrace(); } if(imgwrong){ a[0] = bi.getWidth(); //获得 宽度 a[1] = bi.getHeight(); //获得 高度 }else{ a=null; } //删除文件 file.delete(); }else{//图片不存在 a=null; } return a; } public static void main(String[] args) { ReturnImgWH i = new ReturnImgWH(); int[] a=i.returnImgWH("http://www.tupian.com/333.gif"); if(a==null){ System.out.println("图片未找到!"); }else{ System.out.println("宽为" + a[0]); System.out.println("高为" + a[1]); } } }
欢迎点评,共同学习,共同进步