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("\r\n");
bufout.write("VERSION:2.1");
bufout.write("\r\n");
bufout.write("N;CHARSET=UTF-8;ENCODING=QUOTED- PRINTABLE:"+AddressServlet.qpEncodeing(bean.getTrueName())+";");
bufout.write("\r\n");
if(""!=bean.getMobile()&&bean.getMobile()!=null){
bufout.write("TEL;CELL:"+bean.getMobile()+"");
bufout.write("\r\n");
}
if(""!=bean.getWorkMobile()&&bean.getWorkMobile()! =null){
bufout.write("TEL;WORK:"+bean.getWorkMobile()+"");
bufout.write("\r\n");
}
if(""!=bean.getTelephone()&&bean.getTelephone()!=null) {
bufout.write("TEL;HOME:"+bean.getTelephone()+"");
bufout.write("\r\n");
}
if(""!=bean.getEmail()&&bean.getEmail()!=null){
bufout.write("EMAIL:"+bean.getEmail()+"");
bufout.write("\r\n");
}
bufout.write("END:VCARD");
bufout.write("\r\n");
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).
java盾裂VCF猟周擬秘擬竃方象垂(2)
扮寂:2011-08-05 blogjava 楳暇竪
2.貫云仇貧勧朔擬秘欺DB,厘匆頁壓Servlet糞?議
FileItem fi=null;
try {
|