假设我有一个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
答案 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());
}