您的位置:首页 > 其它

从一个泄露的信息文件中判断自己的QQ好友是否存在其中(TXT与EXCEL中的信息查找)

2015-01-17 12:33 471 查看
//泄漏的文件是网上流传的,我并没有用来做其他用途,只是在里面查找是否有自己的好友信息泄漏了,如果是,则告诉自己的朋友改一下密码。
//泄漏的文件每一行为一条记录,并且每个字段已经有分割符分开
//好友信息的xls文件是从QQ邮箱的通讯录导出的,信息也很容易分割获取
//访问excel使用的jxl jar包

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.sql.SQLException;
import java.util.HashSet;
import java.util.Set;

import jxl.Sheet;
import jxl.Workbook;

public class FindTest {
public static void main(String[] args) {

File file=new File("E:\\data.txt");
InputStreamReader read;
BufferedReader bufferedReader;
String lineTxt = null;

Set<String> email = new HashSet<String>(140000);//保存文本中的邮箱
Set<String> name = new HashSet<String>(140000);//保存文本中的姓名
try {

Long beginTime = System.currentTimeMillis();

if(file.isFile() && file.exists()){ //判断文件是否存在
read = new InputStreamReader(new FileInputStream(file),"gbk");//考虑到编码格式
bufferedReader = new BufferedReader(read);
while((lineTxt = bufferedReader.readLine()) != null){
//这个读取信息的格式和文本中的信息格式有关
String[] strarray=lineTxt.split("----");
email.add(strarray[0]);
name.add(strarray[2]);
}

String fileName = "D:\\mail.xls"; // Excel文件所在路径
File xlsfile = new File(fileName); // 创建文件对象
Workbook wb = Workbook.getWorkbook(xlsfile); // 从文件流中获取Excel工作区对象(WorkBook)
Sheet sheet = wb.getSheet(0); // 从工作区中取得页(Sheet)

String[] xlsName = new String[sheet.getRows()];
String[] xlsEmail = new String[sheet.getRows()];

// 循环Excel表中的内容 ,赋值到数组内存中
for (int i = 0; i < sheet.getRows(); i++) {
//getCell(x,y),x是列,y是行,因为在xls中第一列是姓名,第三列是邮箱
xlsName[i] = sheet.getCell(0, i).getContents();
xlsEmail[i] = sheet.getCell(2, i).getContents();
}

for(int i=0; i<xlsName.length; i++){
if(email.contains(xlsEmail[i])){
System.out.println(xlsEmail[i]);
}
if(name.contains(xlsName[i])){
System.out.println(xlsName[i]);
}
}

Long endTime = System.currentTimeMillis();
System.out.println("pst+batch:"+(endTime-beginTime)/1000+"秒");
System.gc();
bufferedReader.close();
read.close();
}else{
System.out.println("找不到指定的文件");
}
} catch (Exception e) {
System.out.println("读取文件内容出错");
e.printStackTrace();
}finally{

}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐