ftp client的開源實現

2021-08-30 09:53:06 字數 2703 閱讀 2121

html解析htmlparser

htmlparser

首頁:檔案:htmlparser-2.0-snapshot-bin.zip

cpdetector

首頁:檔案:cpdetector_eclipse_project_1.0.7.zip

解開壓縮後,執行ant打包命令,build.xml有些地方需要稍微根據具體情況調整一下

ant jar.htmlentitydecoder

得到jar包

cpdetector_1.0.7.jar

html工具類函式一:自動探測url的html內容的編碼

/*** 自動探測頁面的編碼

* * @param url

* @return

* @throws malformedurlexception

*/public static string autodetectcharset(string url) catch (malformedurlexception e)

codepagedetectorproxy detector = codepagedetectorproxy.getinstance();

detector.add(new parsingdetector(false));

detector.add(jchardetfacade.getinstance());

detector.add(asciidetector.getinstance());

detector.add(unicodedetector.getinstance());

charset charset = null;

try catch (ioexception e)

if (charset == null)

return charset.name();

}html工具類函式二:讀取url中的html文字

/*** 讀取檔案html內容

* * @param url

* @param charset

* @return

* @throws ioexception

*/public static string readurl(string url, string charset) catch (malformedurlexception e)

inputstream in = null;

try catch (ioexception e)

bufferedreader reader = null;

try catch (unsupportedencodingexception e)

string line = new string();

stringbuffer temp = new stringbuffer(transfer_size);

try

in.close();

reader.close();

} catch (ioexception e)

content = temp.tostring();

return content;

}html工具類函式三:解析html得到其中的所有tag

public static nodelist getformnodelist(string url) catch (parserexception e)

return nodelist;

}html工具類函式四:解析tag中的屬性,生成所有的pagefield的pojo

public static listgetpagefields(string url) else if (node instanceof scclselectbizcodestag) else if (node instanceof textareatag) }}

return list;

}擴充套件自定義標籤

public class scclselectbizcodestag extends tagnode ;

public string getids()

public string getenders()

public string getcategory()

public string getid()

public string getselected()

}用filter方式過濾訪問tag

public class postformfilter implements nodefilter

if (node instanceof scclselectbizcodestag)

if (node instanceof textareatag)

return false;}}

測試public static void main(string args)

throws org.htmlparser.util.parserexception, ioexception

以上**可以解析自定義型別

問題一拷貝cpdetector_1.0.7.jar到專案中後

同時也要拷貝ext下面的chardet.jar到lib下面,不然在呼叫

detector.add(jchardetfacade.getinstance());時要報錯,找不到類

nsicharsetdetectionobserver

問題二htmlparser.jar

htmllexer.jar

apache 的FTPClient使用以及注意事項

tomcat apache jk進行集群後,要進行共享,經過網上的搜尋可以有多種方式實現。一種是使用jcifs。jcifs可以實現網路中共享檔案的讀寫,但是前提是,檔案必須共享,還要在同乙個區域網內。所以如果電腦上禁止了檔案共享的話,就行不通了。一種是使用sun提供的ftpclient。ftpcli...

使用FTPClient構造自己的FTP類

使用ftpclient構造自己的ftp類 所有操作需要放在子執行緒 public class ftpmanager public ftpmanager string ip,int port,string username,string password private boolean uploadf...

DLNA 開源實現

dlna 發表於6個月前 2013 07 29 00 53 閱讀 0 12人收藏此文章,我要收藏 贊 0 ubuntu dlna minidlna rygel 目錄 希望在電視上看電腦中的電影,但又不想每次都抱著筆記本接線看。再加上新裝備的mibox 小公尺盒子 所以急需ubuntu下提供dlna服...