//类URL代表一个统一资源定位符,它是指向互联网 资源 的指针。
URL url = new URL("http://www.android100.org/");
// 每个HttpURLConnection实例都可用于生成单个请求,但是其他实例可以透明地共享连接到 HTTP 服务器的基础网络
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//设置URL请求的方法
conn.setRequestMethod("GET");
//设置一个指定的超时值(以毫秒为单位),该值将在打开到此 URLConnection 引用的资源的通信链接时使用。
conn.setConnectTimeout(5 * 1000);
//conn.getInputStream()返回从此打开的连接读取的输入流
InputStream inStream = conn.getInputStream();//通过输入流获取html数据
byte[] data = readInputStream(inStream);//得到html的二进制数
File imageFile = new File("baidu.jpg");
FileOutputStream outStream = new FileOutputStream(imageFile);
outStream.write(data);
outStream.close();
System.out.println("完成");
用到的readInputStream()函数:
public static byte[] readInputStream(InputStream inStream) throws Exception {
//此类实现了一个输出流,其中的数据被写入一个byte数组
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
//字节数组
byte[] buffer = new byte[1024];
int len = 0;
//从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中
while ((len = inStream.read(buffer)) != -1) {
// 将指定byte数组中从偏移量 off 开始的 len 个字节写入此输出流
outStream.write(buffer, 0, len);
}
inStream.close();
//toByteArray()创建一个新分配的 byte 数组。
return outStream.toByteArray();
}