• 网络编程3-URL编程(URL)


    1、URL(Uniform Resource Locatior) 统一资源占位符,表示Intenet上某一资源的地址

    2、URL的组成部分

    传输协议:主机名:端口号:文件名

    例:http://192.168.1.151:10085/webapp/js/service.js

    3、URL的openStream()方法可以开启输入流

    输出则要考URL的openConnection获取URLConnection对象

    4、例子,注释

    package com.url.test;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLConnection;
    
    import org.junit.Test;
    
    public class TestURL {
        
        @Test
        public void urlTest(){
            //1、创建url对象
            URL url = null;
            try {
                url = new URL("http://127.0.0.1:8080/test/hello.txt?a=1&b=2");
            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            //获取协议名
            System.out.println(url.getProtocol());
            //获取主机名
            System.out.println(url.getHost());
            //获取端口号
            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());
            
            
            //2、把服务器资源读进来
            InputStream is = null;
            try {
                is = url.openStream();
                byte [] b = new byte[20];
                int len;
                while((len = is.read(b)) != -1){
                    System.out.println(new String(b,0,len));
                }
                
                is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }finally{
                if(is != null){
                    try {
                        is.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
            
            
            //3、写出去,注意先获取URLConnetcion对象
            OutputStream os = null;
            try {
                URLConnection urlConn = url.openConnection();
                os = urlConn.getOutputStream();
                os.write("Hello ".getBytes());
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                if(os != null){
                    try {
                        os.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
            
            
            
        }
    }
  • 相关阅读:
    ubuntu基本配置学习(1)
    UITabBarController使用详解
    Could not find a storyboard named 'Main' in bundle NSBundle </Users/tianxiao/
    检查更新功能
    SDWebImage手动清除缓存的方法
    错误记录1
    如何获取path路径
    iOS如何获得本地Documents下的文件夹名称或文件名称
    重头系统的学习,不会咱就学!2014.6.18
    错误1
  • 原文地址:https://www.cnblogs.com/fubaizhaizhuren/p/5060033.html
Copyright © 2020-2023  润新知