龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

从outlook导入email地址

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
Outlook有一种email地址格式,采用逗号分隔开字段,扩展名叫CSV。 例如: "姓名","称谓","单位名称","部门","职务","邮政地址","邮政编码","电话","传真","统一编码","其他电话","单位其他","移

  Outlook有一种email地址格式,采用逗号分隔开字段,扩展名叫CSV。
  例如:
  "姓名","称谓","单位名称","部门","职务","邮政地址","邮政编码","电话","传真","统一编码","其他电话","单位其他","移动电话","呼机","主页","电子邮件","备注"
  
  下面写个程序打开csv文件,每行读取只用第一个逗号前的字符串作为姓名,email地址匹配格式取第一个(位置无关)粗陋程序如下:
  
   private static final String repmail ="([w.-]+[@]{1}((w)+[.]){1,3}(w)+)";
   private static final String repname =".+?,";
   Pattern mailPattern = Pattern.compile(repmail );
   Pattern namePattern = Pattern.compile(repname);
   File file = new File("test.CSV");
   FileInputStream is = new FileInputStream(file);
   BufferedReader br = new BufferedReader(new InputStreamReader(is));
  String input = null;
   ArrayList list = new ArrayList();
    while((input = br.readLine())!=null){
  Matcher matchermail = mailPattern.matcher(input);
  Matcher matchername = namePattern.matcher(input);
  String[] card = new String[2];
  if(matchername.find()){
   card[0] = matchername.group(0).replaceAll(""","");
  }
    if(matchermail.find()){
   card[1] = matchermail.group(0);
  }
  if(card[0]==null card[0].equals("") card[1]==null card[1].equals("")){
   continue;
  }
  list.add(card);
   }//输出 for(int i=0;i   System.out.println(((String[])list.get(i))[0] + ":" + ((String[])list.get(i))[1]);
   }
  
精彩图集

赞助商链接