您的位置:首页 > 编程语言 > Java开发

java读取远程url图片,得到宽高

2014-05-27 14:18 363 查看
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("C:\\thetempimg.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("C:\\thetempimg.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;

}java教程

public static void main(String[] args) {

ReturnImgWH i = new ReturnImgWH();

int[] a=i.returnImgWH("http://www.baidu.com/img/logo-yy.gif");

if(a==null){

System.out.println("图片未找到!");

}else{

System.out.println("宽为" + a[0]);

System.out.println("高为" + a[1]);

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: