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(); // 关闭流
}
}
}
浙公网安备 33010602011771号