优酷网站建设视频教程集,网站备案空间备案吗,网页设计图片轮播怎么做,网站建设前期工作转载自 使用cardme读写VCard文件#xff0c;实现批量导入导出电话簿首先下载jar包cardme。
http://sourceforge.net/projects/cardme/?sourcenavbar
cardme是基于java语言的操作vCard(后缀vcf)文件的开源项目。
在项目中有一个类net.sourceforge.cardme.engine.TestParser。是…转载自 使用cardme读写VCard文件实现批量导入导出电话簿首先下载jar包cardme。
http://sourceforge.net/projects/cardme/?sourcenavbar
cardme是基于java语言的操作vCard(后缀vcf)文件的开源项目。
在项目中有一个类net.sourceforge.cardme.engine.TestParser。是官方给的example。
先来梳理几个基本概念
VCardEngine主要用于从字符、文件中格式化或读取VCard数据并转换为VCard对象。
VCardWriter主要用户把VCard对象装换为字符方便写入文件。很难理解的是没有VCardReader对象。而VCardEngine对象却做着VCardReader对象的事儿。
VCard可以理解为名片。定义了名片的基本协议接口。
VCardImpl名片的实现类。
VCardType:名片的数据。名片的数据都是有类型的比如电话TelType,名字NameType,地址AdrType基本概念理解了。我们来看看如何使用这些API
第一个需求读取
会使用到VCardEngine类主要有如下API
parse是一个方法方法含义为从一个文件或字符中读取格式化VCard对象。如果参数是一个数组那么多久返回一个VCard对象数组
parseMultiple也是一个重载方法。含义为从一个文件或字符中读取格式化多个VCard对象。
读取接口很简单。只要理解了上面的几个基本概念就完全没有问题了。
第二个需求写入
在TestParser中只是把VCard对象转换为了字符。并没有写入文件也没有就VCardType做任何example。
VCardWriter writer new VCardWriter(VCardVersion.V3_0, CompatibilityMode.RFC2426);//用户把VCard转换为字符
FileWriter fw new FileWriter(new File(F:/tel/0.vcf));//把VCard数据字符写入文件VCardImpl vc new VCardImpl();//创建一个名片
//设置名片名字FNType。Sets the FN type. This type must be set in the VCard and cannot be omitted, it can however be left with all empty values.文档说这个值必须设置不能忽略。
vc.setFN(new FNType(张三);
//给名片添加一个电话号码。名片是可以有多个号码的
vc.addTel(new TelType(13888888888));
writer.setVCard(vc);
String str writer.buildVCardString();//把名片对象转化为字符
fw.append(str);//写入文件
fw.flush();
fw.close();
对于VCard重点在于理解其VCardType的含义。我的理解为名片上的数据不同的数据对应不同的VCardType实现。