java获取http:图片下载代码——android基础编

大家肯定很奇怪,为什么我写一编文章,原因是这样,android双向通信会用到协议,有http:协议, ftp: 协议,tip/ip  协议
所以我写一个JAVA小程序,让大家有所了解一下获取的流程。

package com.smart.test;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import org.junit.Test;

public class InternetTest {
	// 读取的方法
	public byte[] readStream(InputStream inStream) throws Exception {
		ByteArrayOutputStream outstream = new ByteArrayOutputStream();
		byte[] buffer = new byte[1024]; // 用数据装
		int len = -1;
		while ((len = inStream.read(buffer)) != -1) {
			outstream.write(buffer, 0, len);
		}
		outstream.close();
		inStream.close();
		// 关闭流一定要记得。
		return outstream.toByteArray();
	}

	@Test
	public void getImage() throws Exception {
		//要下载的图片的地址,
		String urlPath = "http://t2.gstatic.com/images?q=tbn:9g03SOE7gW2gEM:http://dev.10086.cn/cmdn/supesite";
		URL url = new URL(urlPath);//获取到路径
		// http协议连接对象
		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
		conn.setRequestMethod("GET");// 这里是不能乱写的,详看API方法
		conn.setConnectTimeout(6 * 1000);
		// 别超过10秒。
		System.out.println(conn.getResponseCode());
		if (conn.getResponseCode() == 200) {
			InputStream inputStream = conn.getInputStream();
			byte[] data = readStream(inputStream);
			File file = new File("smart.jpg");// 给图片起名子
			FileOutputStream outStream = new FileOutputStream(file);//写出对象
			outStream.write(data);// 写入
			outStream.close();	// 关闭流
		}
	}
}

posted on 2011-02-11 11:57  llb988  阅读(1101)  评论(0编辑  收藏  举报

导航