DataInputStream readLine()

public static String getHtml(String url){
try{
Socket clientSocket = new Socket(url, 80);
clientSocket.setSoTimeout(20000);
DataOutputStream outbound = new DataOutputStream(clientSocket.getOutputStream());
DataInputStream inbound = new DataInputStream(clientSocket.getInputStream());
outbound.writeBytes("GET / HTTP/1.1\r\nAccept:*/*\r\nUser-Agent: java/socket\r\nHost: www.biti.com\r\n\r\n");

/*inbound.readLine()*/
String responseLine;
BufferedReader bf = new BufferedReader(new InputStreamReader(inbound));

while ((responseLine = bf.readLine()) != null){
System.out.println(responseLine);
if ( responseLine.indexOf("</HTML>") != -1 || responseLine.indexOf("</html>") != -1)
break;
}
outbound.close();
inbound.close();
clientSocket.close();
}catch (IOException ioe){
System.out.println("IOException: " + ioe);
ioe.printStackTrace();
}
return "su";
}


DataInputStream类的readLine()方法已经被弃用了,可以用上面的方法代替:
/*inbound.readLine()*/
String responseLine;
BufferedReader bf = new BufferedReader(new InputStreamReader(inbound));

使用bf.readLine();

对比下面这种方式的page fetch,哪一种好呢?

StringBuilder result = new StringBuilder();
try {
URL URL = new URL(url);
URLConnection conn = URL.openConnection();
conn.setConnectTimeout(TIMEOUT);
DataInputStream in = new DataInputStream(conn.getInputStream()) ;
BufferedReader d = new BufferedReader(new InputStreamReader(in));
while(d.ready()){
result.append(d.readLine());
}
}catch ( IOException ex ) {
ex.printStackTrace();
}
return result.toString();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值