讀取html頁面檔案解析郵箱地址
• java教程• 發佈:2018-10-08
本文來自:http://blog.csdn.net/javaalpha/article/details/8332587 轉載是請標明,謝謝。
讀取html頁面檔案解析郵箱地址
package com.alpha.test;import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.Writer;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.Matcher;
import java.util.regex.Pattern;/**
* 讀取html頁面檔案解析郵箱地址
*
* @author JavaAlpha 2012-12-19 13:45:11
*/
public class ReadHtmlToTxt { // 讀取檔案
public static String readHtml(String path) { StringBuffer emailCont = new StringBuffer(); File htmlFile = new File(path);
if (htmlFile.exists() && htmlFile.isFile() && htmlFile.canRead()) {
Reader in;
try {
in = new FileReader(htmlFile);
char[] buff = new char[4096];
int nch;
while ((nch = in.read(buff, 0, buff.length)) != -1) {
emailCont.append(checkEmail(new String(buff, 0, nch)));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} } return emailCont.toString();
} // 判斷字串裡面是否包括@符號
public static String checkEmail(String str) { String postCont = "";
// 判斷是否回覆的內容
if (str.indexOf("@") > -1) { postCont = str.substring(str.indexOf("@") - 10,
str.indexOf("@") + 10); if (postCont.indexOf(">") > -1 || postCont.indexOf("<") > -1) {
postCont = postCont.replaceAll(">", "");
postCont = postCont.replaceAll("<", "");
postCont = postCont.replaceAll("/", "");
} if (postCont.indexOf(",") > -1 || postCont.indexOf(",") > -1
|| postCont.indexOf("。") > -1 || postCont.indexOf(";") > -1) {
postCont = postCont.replaceAll(",", "");
postCont = postCont.replaceAll(",", "");
postCont = postCont.replaceAll("。", "");
} postCont = postCont.substring(0, postCont.indexOf(".com") + 4); System.out.println(postCont);
} return postCont;
}
//過濾漢字
public static boolean checkChinese(String str) {
String regEx = "[\\u4e00-\\u9fa5]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
if (m != null && m.find()){
return true;//是漢字
}
return false;
} // 將整理是郵箱地址寫入檔案
public static void writerFile(String cont, String path) { File emailFile = new File(path); try {
//如果檔案不存在,建立檔案
if (!emailFile.exists()) {
emailFile.createNewFile();
}
Writer out = new FileWriter(emailFile); out.write(cont);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
} }
/**
* 讀取網路內容
*/
public static void readUrlCont(String strUrl) {
StringBuffer cont = new StringBuffer();//內容
try {
URL url = new URL(strUrl);
URLConnection conn = url.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String lineCont = "";
while ((lineCont = reader.readLine())!= null) {
cont.append(lineCont+"</br>");
}
reader.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(cont.toString());
} public static void main(String[] args) {
//String cont = readHtml("e://test.htm");//讀取檔案
//writerFile(cont, "e://test.txt");//寫檔案
//checkChinese("qwe123");
readUrlCont("http://www.163.com");
}}
