码迷,mamicode.com
首页 > 编程语言 > 详细

java学习篇(一)从网络下载图片

时间:2014-07-16 11:34:02      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:java   网络下载图片 浏览网页 解析网址html   

(1)在java中,通过网络,下载图片。
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * 通过URL,从网络下载图片
 * @author TF
 */
public class ImageRequest {

	public static void main(String[] args) throws Exception {
		
		//图片的地址
		URL url = new URL(
				"http://a.vpimg1.com/upload/brand/201407/2014071414241844761.jpg");
		//得到http链接
		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
		//设置请求方法
		conn.setRequestMethod("GET");
		//设置请求超时时间
		conn.setConnectTimeout(5 * 1000);
		// 通过输入流获取图片数据
		InputStream is = conn.getInputStream();
		// 得到图片的二进制数据
		byte[] data = readInputStream(is);

		File imageFile = new File("creep.jpg");
		FileOutputStream outStream = new FileOutputStream(imageFile);
		outStream.write(data);
		outStream.close();
	}
	
	public static byte[] readInputStream(InputStream inStream) throws Exception {
		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
		byte[] buffer = new byte[1024];
		int len = 0;
		while ((len = inStream.read(buffer)) != -1) {
			outStream.write(buffer, 0, len);
		}
		inStream.close();
		return outStream.toByteArray();
	}

}

这样,图片就下载下来了,保存在当前的工程下面。刷新一下工程,就能看见。


(2)在java中,通过网络,解析一个网站,得到它的html代码。

/**
 * 通过URL解析网址,得到html文件
 * @author TF
 */
public class HtmlRequest {
	
	public static void main(String[] args) throws Exception {
		
		URL url = new URL("http://www.baidu.com");
		
		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
		conn.setRequestMethod("GET");
		conn.setConnectTimeout(5 *1000);
		
		//通过输入流获取html数据
		InputStream is = conn.getInputStream();
		//得到html的二进制数据
		byte[] data = readInputStream(is);
		String html = new String(data, "UTF-8");
		
		System.out.println(html);
	}
	
	public static byte[] readInputStream(InputStream instream) throws Exception {
		
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		
		byte[] buffer = new byte[1 * 1024];
		int length = 0;
		
		while(-1 != (length = instream.read(buffer))){
			baos.write(buffer, 0, length);
		}
		instream.close();
		return baos.toByteArray();
	}
}
这样,在控制台就能看到解析完成的百度首页的html代码了...

java学习篇(一)从网络下载图片,布布扣,bubuko.com

java学习篇(一)从网络下载图片

标签:java   网络下载图片 浏览网页 解析网址html   

原文地址:http://blog.csdn.net/u012301841/article/details/37813861

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!