通过Java中的vCard阅读

时间:2013-09-12 03:08:57

标签: java vcard

假设我有一个vCard文本文件,我想获取这些人的电话号码,电子邮件地址和全名。什么是一种简单的方法,无需手动使用扫描仪跳过文本或使用bufferedReader读取readLine?

BEGIN:VCARD
VERSION:2.1
TEL;PREF;WORK;VOICE;ENCODING=QUOTED-PRINTABLE:(+64 9) 373-7599=20
N:Vaughan;Tim;;Dr;
FN:Dr Tim  Vaughan
ADR;WORK;;ENCODING=QUOTED-PRINTABLE:;Building 303S Room 367;;Auckland;;Private Bag 92019 Auckland;New Zealand
TITLE:Research Fellow
EMAIL;INTERNET:xxx@gmail.com
ORG:University of Auckland;Department of Computer Science
URL;WORK:
REV:2013-09-12T15:06:11Z
END:VCARD

1 个答案:

答案 0 :(得分:0)

您可以使用ez-vcard之类的外部库。然后访问下面的VCard元素

FileInputStream fin = ...;
    Vcard contacts = Ezvcard.parse(fin).all();
    for(VCard myCard : contacts){
        System.out.println("Contact In the Phonebook \n" + "\t"
                + myCard.getFormattedName().getValue()
                + "\n\t" + myCard.getEmails().get(0).getValue()
                + "\n\t" + myCard.getTelephoneNumbers().get(0).getText());
    }