在哪里可以找到读取 vcard 文件的 java 库? [关闭]
Posted
技术标签:
【中文标题】在哪里可以找到读取 vcard 文件的 java 库? [关闭]【英文标题】:Where to find a java library to read vcard files? [closed] 【发布时间】:2010-10-14 22:26:38 【问题描述】:我需要一个 java 库来读取 vcard 文件 (vcf)。
【问题讨论】:
*** 是一个 QUESTIONS 的网站。请把它改写为一个问题。尽管如此,这不是一个真正的问题。 【参考方案1】:ez-vcard 支持 vCard 标准的 2.1、3.0 和 4.0 版本,以及 XML 编码的 vCard(“xCard”标准)、html 编码的 vCard(“hCard”微格式)和 JSON 编码的 vCard( “jCard”标准)。
https://github.com/mangstadt/ez-vcard
要读取 vCard 文件,请使用 Ezvcard.parse()
方法。然后,在返回的VCard
对象上调用各种 getter 方法来检索 vCard 数据字段。
File file = new File("my-vcard.vcf");
VCard vcard = Ezvcard.parse(file).first();
System.out.println("Name: " + vcard.getFormattedName().getValue());
System.out.println("Email: " + vcard.getEmails().get(0).getValue());
【讨论】:
嘿,似乎是目前为止最好的 .vcf 解析器,但可以说我有 .vcf 有电子邮件主页、电子邮件工作和电子邮件其他。您能否详细说明如何将不同类型的电子邮件(家庭、其他、工作)存储到 String emailHome、emailWork、emailOther? vcard.getEmails().get(0).getValue();总是先给,但如何知道是家庭电子邮件还是工作电子邮件或其他电子邮件? @Marko 在每个电子邮件对象上调用“getTypes()”方法以获取其“类型”参数列表。然后你可以检查它的类型是“home”还是“work”:email.getTypes().contains(EmailTypeParameter.HOME); +1 积极发展【参考方案2】:search for Java and vcard 会产生很多结果。
尤其是Mime-Dir-j,它不再处于积极开发中,但可能就是你所需要的,还有vcard4j,它似乎已经休眠了更长时间(最后一个版本是 2003 年!)。
【讨论】:
我已经找到了这些项目,并希望在积极的开发中得到其他东西,但无论如何我都会尝试它们,谢谢大家。 作为一个快速的 FYI,Mime-Dir-j 似乎包含 vcard4j 代码,但也应用了最近的错误修复。【参考方案3】:Cardme 似乎是最好的 vcard 库,正在积极开发,甚至还有一个 wiki 站点。
检查项目homepage。
【讨论】:
【参考方案4】:还没有使用过(即将试用),但这看起来很有希望。
http://code.google.com/p/android-vcard/
【讨论】:
【参考方案5】:http://wiki.modularity.net.au/ical4j/index.php?title=VCard
【讨论】:
【参考方案6】:我发现这个 API 可以解决问题:http://sourceforge.net/projects/mime-dir-j/
【讨论】:
【参考方案7】:试试谷歌、雅虎等,找到http://vcard4j.sourceforge.net/
【讨论】:
【参考方案8】:好吧,如果您想使用手机,JSR75 开箱即用:
javax.microedition.pim.PIM.fromSerialFormat 被指定为支持 vCard 3.0
【讨论】:
以上是关于在哪里可以找到读取 vcard 文件的 java 库? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章