首页 / 软件开发 / JAVA / java解析VCF文件导入导出数据库
java解析VCF文件导入导出数据库2011-08-05 blogjava 青菜猫前几天,客户要求开发个小功能,就是把手机的VCF电话薄文件导出来后,可以导入数据库,然后从数据库 出来的记录,同样可以生成vcf文件,并且地手机导入后可以成为有用电话薄.(vcf文件内容格式另外有介绍 )大家可以看看http://sourceforge.net/projects/mime-dir-j/这个开源的,前几天还上不了个网站(我 是用代理上的),这几天好像是可以了,我是自己看了下源码.然后写了下,在java中生成vcf文件,我是在Servlet中用文件流做的部份代码如下 :response.setHeader("Content-Disposition","attachment; filename="+ new String (bean.getTrueName().getBytes("GBK"), "ISO8859-1" )+".vcf");
try{
java.io.PrintWriter bufout=response.getWriter();
bufout.write("BEGIN:VCARD");
bufout.write("
");
bufout.write("VERSION:2.1");
bufout.write("
");
bufout.write("N;CHARSET=UTF-8;ENCODING=QUOTED- PRINTABLE:"+AddressServlet.qpEncodeing(bean.getTrueName())+";");
bufout.write("
");
if(""!=bean.getMobile()&&bean.getMobile()!=null){
bufout.write("TEL;CELL:"+bean.getMobile()+"");
bufout.write("
");
}
if(""!=bean.getWorkMobile()&&bean.getWorkMobile()! =null){
bufout.write("TEL;WORK:"+bean.getWorkMobile()+"");
bufout.write("
");
}
if(""!=bean.getTelephone()&&bean.getTelephone()!=null) {
bufout.write("TEL;HOME:"+bean.getTelephone()+"");
bufout.write("
");
}
if(""!=bean.getEmail()&&bean.getEmail()!=null){
bufout.write("EMAIL:"+bean.getEmail()+"");
bufout.write("
");
}
bufout.write("END:VCARD");
bufout.write("
");
response.getOutputStream().flush();
response.getOutputStream().close();
}
catch(IOException E){
System.out.println("vcfexport发生I/O错误!");
} qpEncodeing()这个方法是专门编码成这种格式的 (http://www.blogjava.net/sundc/archive/2008/08/04/219863.html).