用java抓取cnproxy代理服务器地址
package org.mingyuan.fetcher;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
public class StringTest {
/**
* 通过url,得到url源文件
* @param url
* @return
* @throws IOException
*/
private static String getURLContent(String url) throws IOException {
URL ipListUrl = new URL(url);
BufferedReader in = new BufferedReader(new InputStreamReader(ipListUrl
.openStream()));
String str = null;
String html = "";
while ((str = in.readLine()) != null) {
html += str;
}
in.close();
return html;
}
/**
*
* @param htmlContent
* @param fileName
* @return ip地址和ip地理信息
* @throws IOException
*/
private static HashMap<String,String> getIpList(String htmlContent,String fileName) throws IOException {
String str1[] = htmlContent
.split("<tr><td width=\"140\">IP:Port</td><td width=\"40\">Type</td><td width=\"90\">Speed</td><td width=\"160\"> Country/Area</td></tr>");
String str2 = str1[1];// ip及余下部分
String str3[] = str2
.split("</table>");
String str4 = str3[0];// <tr><td>24.25.26.128<SCRIPT type=text/javascript>document.write(":"+q+d)</SCRIPT></td><td>HTTP</td><td>296,984,984</td><td>美国 维吉尼亚州</td></tr>
String str5[]=str4.split("<tr><td>");
HashMap<String,String> map=
相关文档:
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
最近在写Java程序处理大量数据的时候内存往往随着程序执行的数次增加而增加, 最大时上涨到1.XG以上, 最终JVM内存用尽, 程序异常终止,在程序中已经将能回收的变量都置为null了, 还是不能实时回收内存, 想到C++的的做法, 有析构函数和delete, 可以及时的回收内存, JCP能否可以考虑一下在JDK7中增加delete关键字, 让Java也能像 ......
我们知道栈是一种先进后出的数据容器。当一个栈的输入序列是递增序列(例如a,b,c,d),并且在进栈操作时,允许退栈操作,则输出的序列可能有多种形式(例如:d,c,b,a或a,c,b,d等)。但是却肯定不会出现如下出栈序列:a,d,b,c或d,a,b,c等。在输入序列为递增序列的假设下,请编写一个算法判断输入的字符串表示的出栈序列是否为 ......
1. 首先String不属于8种基本数据类型,String是一个对象。
因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。
2. new String()和new String(“”)都是申明一个新的空字符串,是空串不是null;
3. String str=”kvill”;
String str=n ......
一、从根本上认识java.lang.String类和String池
首先,我建议先看看String类的源码实现,这是从本质上认识String类的根本出发点。从中可以看到:
1、String类是final的,不可被继承。public final class String。
2、String类是的本质是字符数组char[], 并且其值不可改变。private final char value[];
然后打开Str ......