`
t330guol
  • 浏览: 12737 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java获取网页上邮箱地址存放到.txt文件

阅读更多
package com.test;

import java.io.*;
import java.net.*;
import java.util.*;
import java.util.regex.*;

public class GetEmailDemo {
/**
* 测试方法;
*
* @param args
*/
public static void main(String[] args) {
GetEmailDemo emailDemo = new GetEmailDemo();
@SuppressWarnings("unused")
String error = emailDemo
.getWebContent("http://www.tradesns.com/forum_messages.php?mid=24877&ccid=5906");
System.out.println("邮件地址查找完成...");
}
/**
* 获得网页中的源代码; 逐行解析;
*
* @param path
* @return
*/
private String getWebContent(String path) {
BufferedReader bufferedReader = null;
StringBuffer sb = new StringBuffer();
if (path != null && !"".equals(path)) {
try {
URL url = new URL(path);
bufferedReader = new BufferedReader(new InputStreamReader(
url.openStream()));
String line = null;
System.out.println("开始分析邮件地址...");
String filePath = "e:/email/";
File file = new File(filePath);
if (!file.exists()) {
file.mkdir();
}
String str2 = "";
while ((line = bufferedReader.readLine()) != null) {
String str = parse(line);
if (!str.equals("")) {
str2 += str;
}
}
if (!str2.equals("")) {
String[] arrstr = str2.split(" ");
FileWriter fw = new FileWriter(filePath + "email.txt");
PrintWriter pw = new PrintWriter(fw);
//去重复
Set<String> set = new TreeSet<String>();
        for (String i : arrstr) {
            set.add(i);
        }
        String[] dest = new String[set.size()];
        Iterator<String> iter = set.iterator();
        for (int i = 0; i < dest.length && iter.hasNext(); i++) {
            dest[i] = iter.next();
        }
//输出
for (int i = 0; i < dest.length; i++) {
pw.write(dest[i] + "\n");
}
pw.close();
fw.close();
}
} catch (MalformedURLException e) {
e.printStackTrace();
sb.append(e.toString());
} catch (IOException e) {
e.printStackTrace();
sb.append(e.toString());
} finally {
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
sb.append(e.toString());
}
}
}
return sb.toString();
}

/**
* 分析数据;
*
* @param line
*/
private String parse(String line) {
String str = "";
if (line != null && line.length() > 0) {
// 邮箱正则表达式;
String regexExpression = "[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+";
Pattern pattern = Pattern.compile(regexExpression);
Matcher matcher = pattern.matcher(line);
try {
while (matcher.find()) {
String str2 = matcher.group();
if (!str2.equals("")) {
str += str2 + " ";
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
return str;
}
分享到:
评论

相关推荐

    java获取邮箱联系人库文件

    总结来说,Java获取邮箱联系人库文件是一个涉及网络编程、HTML解析和网页模拟的复杂过程。借助如`flyerhzm-contactlist-855a71f`这样的工具库和辅助调试工具,如httpwatch,开发者可以更高效地完成这一任务。在实际...

    Java类文件加密专家

    假设您的Java Web Server为Tomcat,以Windows平台为例,Tomcat的存放目录为C:\Tomcat 5.5 ,JLoader.dll存放在c:\windows目录中,在Tomcat的bin目录中新建一个文件setenv.bat,setenv.bat中的内容:set JAVA_OPTS= ...

    java开源包101

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包10

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    网管教程 从入门到精通软件篇.txt

    BOX:Lotus Notes的邮箱文件 BPL:Borlard Delph 4打包库 BSP:Quake图形文件 BUN:CakeWalk 声音捆绑文件(一种MIDI程序) C C0l:台风波形文件 CAB:Microsoft压缩档案文件 CAD:Softdek的Drafix CAD文件 ...

    JAVA上百实例源码以及开源项目源代码

    Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...

    java开源包6

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包9

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包4

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包5

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包8

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包1

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包3

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    Java资源包01

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java+mysql实现的代码分享网(所有源码已开源,效果可看网址:www.admintwo.com)

    修改jdbc.properties和img.properties,其中jdbc.properties是数据库连接信息,img.properties是用户头像、分享介绍图片、分享代码压缩包文件存放路径设置文件。之后,部署运行tomcat服务器即可。

    java开源包2

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包11

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包7

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    精典源码之仿QQ邮箱安卓客户端项目.rar

    - `src`目录:源代码所在,分为`main`和可能的`test`目录,`main`下有`java`和`xml`目录,分别存放Java代码和XML布局文件。 - `AndroidManifest.xml`:定义应用的基本配置,包括权限、启动Activity等。 - `build....

    Java-综合案例(用户信息).zip

    - `classes`目录:存放编译后的Java类文件,包括Servlet和JavaBean。 - `lib`目录:存放项目依赖的库文件,如MySQL JDBC驱动。 - `jsp`目录:存放JSP文件,如login.jsp、register.jsp。 - `css`目录:存放CSS样式...

Global site tag (gtag.js) - Google Analytics