从一个泄露的信息文件中判断自己的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{ } } }
相关文章推荐
- 查找程序所在上一级目录中是否存在指定文件夹,不存在就建立,并在其中新建一个txt文件
- C语言判断文件夹或者文件是否存在以及权限等信息access函数和删除文件或目录 remove()函数使用实例
- JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤
- vc中判断excel、word文件是否存在,删除excel文件
- C#判断txt文件中某个字符串是否存在的函数
- 读取指定文件夹里面的所有图片取出里面其中一张图片和判断文件夹或文件是否存在
- Linux下父进程通过管道发送文件名给子进程,子进程获取文件名后首先判断文件是否存在,不存在,通过管道返回错误信息,存在,将文件内容返回给父进程
- JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤
- Linux 获取文件时间信息 判断文件是否存在
- 判断文件是否存在
- 判断文件是否存在
- 写了两个判断文件目录是否存在的函数
- VB中如何判断文件、文件夹是否存在
- 判断文件或文件夹是否存在
- C/C++中判断某一文件或目录是否存在
- 判断是否有文件存在
- EXCEL 中 判断某个自定义序列是否存在
- SQL中用系统存储过程xp_fileexist来判断文件是否存在
- shell判断文件,目录是否存在或者具有权限
- 几个C#编程的小技巧 (二) (判断文件或文件夹是否存在 )