[java] 网络编程

使用Java.net.URL进行网络信息获取

  • 读取网页文件内容的步骤:
  • 1.创建一个URL类型的对象
    URL url = new URL("http://www.xxx.com");
    
  • 2.利用URL类的openStream(),获得对应的InputStream类的对象
    InputStream stream = url.openStream();
    
  • 3.通过InputStream或InputStreamReader来读取内容

使用第三方库进行更加复杂的网络信息获取

  • 如Apache的httpclient
  • 在IDE中引入库
  • 使用示例
    String stockCode = "0000000";
    String str = Request.Get("http://xxx/list=" + stockCode)
              .execute().returnContent().asString();
    System.out.println(str);
    
    String imageURL = "http://image.xxx.cn/newchart/";
    BufferdImage img = ImageIO.read(new URL(imageURL));
    

使用Socket编程实现底层网络通信

  • Socket类
    客户端要与服务器相连,则客户端需要建立Socket对象
    try{
    Socket s1 = new Socket("127.0.0.1",8888);
    InputStream is = s1.getInputStream();
    DataInputStream dis = new DataInputStream(is);
    System.out.println(dis.readUTF());
    dis.close();
    s1.close();
    }catch(...){...}
    
  • ServerSocket类 需要调用accept方法呼叫客户呼叫
    得到的又是一个Socket,它可以与客户进行通信 try{ s = new ServerSocket(8888); }catch(…){…} while(true){ try{ Socket s1 = s.accept(); OutputStream os = s1.getOutputStream(); DataOutputStream dos = new DataOutputStream(os); dos.writeUTF(“Hello,bye-bye”); dos.close(); s1.close(); }catch(…){…} }
Written on December 25, 2022