您的位置:首页 > 理论基础 > 计算机网络

使用HttpUrlConnection的GET方式从网上下载数据

2017-08-28 20:55 447 查看
1 . 首先要明白需求:实现从网上下载数据

2 .步骤:

2-1.URL 统一资源定位符

2-2.定义connection

2-3. 设定 请求方式

2- 4.连接服务器

2-5.接收响应

3 . 接收响应的时候,判断请求是否成功, 响应的状态状态码200, 表示请求响应成功了,如果 404 找不到页面 , 500 服务器错误

package com.qf.demo5;

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

/**
* 谷歌官方推荐的 HttpUrlConnection
* @author Administrator
*
*  从网上下载数据
*/
public class Test {

public static void main(String[] args) {
InputStream is = null;
FileOutputStream fos =null;
try {
// 1URL 统一资源定位符
URL url = new URL("http://photocdn.sohu.com/20150610/mp18368185_1433925691994_2.jpg");
//  2
HttpURLConnection connection = (HttpURLConnection) url.openConnection();

// 3 设定 请求方式
connection.setRequestMethod("GET");
// 4 连接服务器
connection.connect();

// 5 接收响应
// 判断  请求是否成功,  响应的状态     状态码  200 请求响应成功了
//      200 响应成功      404 找不到页面     500 服务器错误
if(connection.getResponseCode()==200){
// 读取
is = connection.getInputStream();
fos = new FileOutputStream(new File("w.jpg"));
byte[] bs = new byte[1024];
int num  = 0;
while((num = is.read(bs))!=-1){
fos.write(bs, 0, num);
fos.flush();
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if(is!=null){
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

}
}


总结:如果想下载或者上传数据,牵扯到数据复制转移操作的,要想到使用输出流和输入流进行处理.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐