URL:统一资源定位符

一个URL的对象,对应互联网上的一个资源,通过URL的对象调用其相应的方法,将此资源

出现BUG: java.net.MalformedURLException: no protocol:

解决方法:加上http

package bank;

import java.awt.*;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class URLTest {
public static void main(String[] args) throws IOException {
//1.创建一个URL对象
URL url = new URL("http://127.0.0.1:8080/examples/大数据学习.txt?a=a");
//获取该URL的协议名 http
System.out.println(url.getProtocol());
//端口号 8080
System.out.println(url.getPort());
//文件路径 /examples/大数据学习.txt
System.out.println(url.getPath());
//主机名 127.0.0.1
System.out.println(url.getHost());
//文件名 /examples/大数据学习.txt?a=a
System.out.println(url.getFile());
//该URL的相对位置 null
System.out.println(url.getRef());
//获取url查询名 a=a
System.out.println(url.getQuery());

//如何将服务端的资源读取进来
InputStream is = url.openStream();
byte[] b = new byte[1024];
int len;
while ((len = is.read(b))!=-1){
String str = new String(b,0,len);
System.out.println(str);
}
is.close();
//如果有数据的输入,又有数据的输出,使用URLConnection
URLConnection urlConn = url.openConnection();
InputStream is1 = urlConn.getInputStream();
FileOutputStream fos = new FileOutputStream(new File("C:/Users/Administrator/Desktop/test/a.txt"));

byte[] b1 = new byte[1024];
int len1 ;
while ((len1 = is1.read(b1))!=-1){
fos.write(b1,0,len1);
}

fos.close();
is1.close();
}

}