网络编程之URL类获取网页资源

java.net.Url 类可以用来获取网页资源,是一个很方便的类,我这里像大家展示一下如何通过 url 类获取网络资源

	public static void main(String[] args) throws IOException {
		// 实例化一个URL 类
		URL url = new URL("http://www.baidu.com");
		
		// 获取连接
		URLConnection urlConnection = url.openConnection();
		// 设置请求头
		urlConnection.addRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
		
		// 获取输入流,网络文件都是以流的形式进行传输的
		InputStream inputStream = urlConnection.getInputStream();
		// 使用 增强读取 , 可以设置 解码字符集
		BufferedReader br = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
		// 使用 增强写出
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("baidu.html"),"UTF-8"));
		String msg = null;
		while( (msg=br.readLine()) !=null ){
			// 写出
			bw.write(msg);
		}
		
		bw.close();
		br.close();
		
	}

 

如果读取文件的话就不能用 Reader类了,就得用 OutputStream 类了

public static void main(String[] args) throws IOException {
		// 实例化一个URL 类
		URL url = new URL("http://e.hiphotos.baidu.com/image/h%3D300/sign=3b44ffc10746f21fd6345853c6256b31/8c1001e93901213f5480ffe659e736d12f2e955d.jpg");
		
		// 获取连接
		HttpsURLConnection urlConnection = (javax.net.ssl.HttpsURLConnection)url.openConnection();
		// 设置请求头
		urlConnection.addRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
		
		// 获取输入流,网络文件都是以流的形式进行传输的
		InputStream inputStream = urlConnection.getInputStream();
		// 
		BufferedInputStream bis = new BufferedInputStream(inputStream);
		// 
		BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream( "xxxxx.jpg" ));
		// 设置缓冲
		byte [] flush = new byte[2048];
		// 记录读取长度
		int len = 0;
		while( (len = bis.read(flush) ) != -1 ){
			bos.write(flush, 0, len);
		}
		bos.flush();
		
		bos.close();
		bis.close();
		
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值