文档章节

<Java 网络基础知识>学习日志(二)——URL

WhuBit
 WhuBit
发布于 2016/11/19 23:17
字数 379
阅读 3
收藏 0
package 网络基础知识;

import java.net.MalformedURLException;
import java.net.URL;

public class URLTest {
	/*
	 * 2016/11/19
	 * URL测试
	 * URL:统一资源定位符,表示Inernet上某一资源的地址
	 * 由两部分组成:协议名称和资源名称,中间用冒号隔开
	 * java,net包中提供了URL类
	 */

	public static void main(String[] args) {
		try {
			//创建一个URL实例
			URL immoc=new URL("http://www.imooc.com");
			//利用已有的URL创建新的URL,?后面表示参数,#后面表示锚点
			URL url=new URL(immoc, "index.html?username=tom#test");
			System.out.println("协议:"+url.getProtocol());
			System.out.println("主机"+url.getHost());
			//http默认使用80端口,该类没有指定端口号,则根据协议不同使用默认端口号,使用默认端口则返回-1
			System.out.println("端口:"+url.getPort());
			System.out.println("文件路径"+url.getPath());
			System.out.println("文件名:"+url.getFile());
			System.out.println("相对路径:"+url.getRef());
			System.out.println("查询字符串:"+url.getQuery());
			
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}


	}

}

package 网络基础知识;

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

public class URLPest {

	/*
	 * 使用URL获取网页内容
	 */
	public static void main(String[] args) {
		try {
			//创建一个URL实例
			URL url=new URL("http://www.baidu.com");
			//获取字节输入流
            InputStream is=url.openStream();
            //将字节输入流转化为字符输入流
            InputStreamReader isr=new InputStreamReader(is,"UTF-8");//!!!:有乱码,需改变编码方式
            //为字符输入流加缓冲
            BufferedReader br=new BufferedReader(isr);
            
            //创建PrintWriter
            File dest=new File("dest.html");
            if(!dest.exists())
            	dest.createNewFile();
            PrintWriter pw=new PrintWriter(dest);
            
            String data=br.readLine();
            while(data!=null){
            	pw.write(data);
            	pw.flush();//刷新缓冲区,写入数据
            	data=br.readLine();//输入数据
            }
            
            //关闭资源
            pw.close();
            is.close();
            isr.close();
            br.close();
        } catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		

	}

}

© 著作权归作者所有

共有 人打赏支持
WhuBit
粉丝 1
博文 12
码字总数 4328
作品 0
武汉
私信 提问
如果你想学习Java,那么就来看这篇文章

一、前言 我是从大二开始学习的Java,当时的目标是Java Web开发,当时并不想考研,所以当时的学习是以就业为主,现在我大三了,学习Java Web开发已经一年了,因为种种原因,决定要考研,所以...

Jivanmoon
2018/08/27
0
0
《Java程序员由笨鸟到菜鸟》电子版书正式发布,欢迎大家下载

在众多朋友的支持和鼓励下,《Java程序员由菜鸟到笨鸟》电子版终于和大家见面了。本电子书涵盖了从java基础到javaweb开放框架的大部分内容。在编写的过程中,难免会出现一些错误,希望大家能...

长平狐
2012/11/12
128
0
《Java程序员由笨鸟到菜鸟》电子版书正式发布,欢迎大家下载

在众多朋友的支持和鼓励下,《Java程序员由菜鸟到笨鸟》电子版终于和大家见面了。本电子书涵盖了从java基础到javaweb开放框架的大部分内容。在编写的过程中,难免会出现一些错误,希望大家能...

长平狐
2012/11/12
112
0
java 7 入门书籍

一、Java从入门到精通 《Java从入门到精通(第3版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识。 《Java从入门到精通(第3版...

modernizr
2014/05/15
6.9K
9
我是如何在毕业2年内逆袭成为BAT年薪40W的资深开发工程师的?

  坐标:杭州 | 工作时间:2年 | 年薪:40W   毕业院校:普通二本(非计算机专业)   现任职位:BAT某公司资深开发工程师   身边的师弟师妹经常问到:非计算机专业出身,你是在2年内...

java进阶架构师
2018/12/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

深入理解JVM—JVM内存模型

深入理解JVM—JVM内存模型 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存...

onedotdot
30分钟前
1
0
MVC、MVCS、MVVM、MVP、VIPER等这么多架构模式哪一个好呢?

在项目开启阶段,其中一个很重要的环节就是选架构。 那么面对目前已知的这么多架构模式我们该怎么选择呢?这确实是个很让人头疼的问题! 下面我就在这里梳理一下目前常见的一些架构模式。 先...

Java干货分享
今天
4
0
简单模仿配置文件的反射机制

//Student类 public class Student { public void love() { System.out.println("python"); } } //Tesy类 public class Tesy { public static void main(String[] args) throws Exceptio......

南桥北木
今天
2
0
你真的需要了解一下CSS变量 var()的用法

当Web项目变得越来越大时,他的CSS会变得像天文数字那么大而且还变得混乱。为了帮助我们解决这个问题,新的CSS变量很快就会出现在主流浏览器中,它让开发人员能够重用并轻松编辑重复出现的C...

前端小攻略
今天
1
0
嵌入式应用选择合适的微控制器

为嵌入式应用选择微控制器有几个原因,即低成本,高集成度,增加可靠性,节省空间等。 准备所需硬件接口列表使用微控制器的基本硬件框图,准备一份微控制器需要支持的所有外设接口的列表。微...

linux-tao
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部