Java获取网络数据

2016-05-31  本文已影响466人  观星

找了一个爬虫的Demo,敲了一下。

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.*;

public class Main {

    public static void main(String[] args) {
    
    String url = "http://www.baidu.com";
    
    String result = "";
    
    BufferedReader in = null;
    
    try {
        
        //生成URL
        URL realUrl = new URL(url);
        
        //初始化连接到特定URL的连接通道
        URLConnection connection = realUrl.openConnection();
        
        //开始实际连接
        connection.connect();
        
        //数据读取
        in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        
        //临时存储一行数据
        String line;
        
        while((line = in.readLine()) != null) {
            result += line;
        }
    } catch (Exception e) {
        
        e.printStackTrace();
    } finally {
        
        try {
            if (in != null) {
                in.close();
            }
        } catch (Exception e2) {
            
            e2.printStackTrace();
        }
    }
    
    System.out.println(result);
  }
}

Java中I/O的设计还Objective-C的区别非常大。关于Java I/O设计可以参考这篇文章。

java I/O库中设计模式的应用:http://my.oschina.net/gao0516/blog/136103

Java字节流和字符流

在iOS里面socket里也有使用到NSStream,应该和Java是类似的。

上一篇下一篇

猜你喜欢

热点阅读