20150803-URL

步骤:
1.建立URL对象
2.通过openStream()方法获得输入流
3.按照输入流的一些操作进行读取。

范例1:

//功能:下载百度页面流
package day0803;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;

public class Test_URL {

    public static void main(String[] args) {
        //百度
        try {
            URL url = new URL("http://www.baidu.com");//MalformedURLException地址不存在的异常
            InputStream is = url.openStream();//1.利用openStream方法获得流,2、有IOException异常
            BufferedReader br = new BufferedReader(new InputStreamReader(is));
            String line = br.readLine();
            while(line!=null){
                System.out.println(line);
                line = br.readLine();
            }
            br.close();
            is.close();
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}

范例二:

/*
要求:将已知url的图片复制出来。(即下载图片:input流;上传:output流)
解释:由于图片是二进制字节,所以这是不用BufferedReader,而是用字节流的方式。
*/
方法一:直接获得输入流
方法二:connection:
URLConnection uc = urlpic.openConnection();
InputStream ispic = uc.getInputStream();
//main方法中:
try {
            URL urlpic = new URL("http://img03.sogoucdn.com/app/a/100520076/1034da5d83b07ac8efa112255506645c");
            File file = new File("d://b.jpg");
            //判断文件是否存在,不存在创建
            if(!file.exists()){
                file.createNewFile();
            }
            OutputStream ospic = new FileOutputStream(file); //注:建FileOutputStream
            InputStream ispic = urlpic.openStream();  //异常
            byte[] arr = new byte[1024];
            int num = ispic.read(arr);
            while(num!=-1){
                ospic.write(arr, 0, num);
                num = ispic.read(arr);
            }
            ospic.flush();//写入,不要忘了flush
            ospic.close();
            ispic.close();

        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值