你的位置:首页 > Java教程

[Java教程]java如何在网页中提取Email地址


   开博好久了,今天第一次发表技术文档,之前总是将一些好的事例保存在电脑,时间久了找起来也很麻烦,所以还是放在博客里进行归类比较方便,这样也能将自己在学习过程中的一些心得体会分享给大家,也能给需要的人一点帮助。

      一个朋友需要我帮忙给写一个能够提取网页中Email地址的小程序,所以就用Java语言帮他做了一个,有不完善的地方还请大家谅解,并提出来,一起学习。

     源代码详见附件!加压后将将readme.htm放在F:\\share\\readme.htm,也可自定义目录,自定义目录需要修改对应的代码文件路径。源代码.rar

复制代码
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.regex.Matcher;import java.util.regex.Pattern;/*** email小爬虫* @author xiaoxin* @date 2014/10/29*/public class EmailSpider {  public static void main(String[] args) {    try {      BufferedReader br = new BufferedReader(new FileReader("F:\\share\\readme.htm"));      BufferedWriter bw = new BufferedWriter(new FileWriter("F:\\share\\email.txt"));      String line = "";      while((line = br.readLine()) != null) {        parse(line, bw);      }      bw.flush();      bw.close();      br.close();    } catch (FileNotFoundException e) {      e.printStackTrace();    } catch (IOException e) {      e.printStackTrace();    }  }  /**   * 解析Email的方法   * @param line 按行过滤   * @param bw 输出到email.txt  */  private static void parse(String line, BufferedWriter bw) {    Pattern p = Pattern.compile("[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+");    Matcher m = p.matcher(line);    try {      while(m.find()) {        bw.write(m.group() + ";\r\n"); //换行显示,适用于windows、Linux下为\r、Mac下为\n     //   bw.newLine();//建议用这个换行        System.out.println(m.group());      }    } catch (IOException e) {      e.printStackTrace();      System.exit(-1);    }  }}
复制代码


只有不断地学习,才能使自己立于不败之地!