2
저는 cardme 라이브러리를 사용하여 vcards를 처리하고 있습니다. 다음은 내 코드입니다vcard에서 전화 번호를 얻는 방법
package vcardtest;
import java.io.*;
import java.util.Iterator;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.sourceforge.cardme.engine.VCardEngine;
import net.sourceforge.cardme.vcard.VCard;
import net.sourceforge.cardme.vcard.features.EmailFeature;
import net.sourceforge.cardme.vcard.features.NameFeature;
import net.sourceforge.cardme.vcard.features.NicknameFeature;
import net.sourceforge.cardme.vcard.features.TelephoneFeature;
import net.sourceforge.cardme.vcard.types.parameters.TelephoneParameterType;
public class VCardTest
{
public static void main(String[] args)
{
File vcardFile = new File("C:/Users/yohan/Contacts/Yohan Weerasinghe.vcf");
VCardEngine vcardEngine = new VCardEngine();
try
{
VCard vcard = vcardEngine.parse(vcardFile);
String name = vcard.getName().getGivenName();
EmailFeature email = vcard.getEmails().next();
String sEmail = email.getEmail();
NicknameFeature nickName = vcard.getNicknames();
Iterator<String> nicknames = nickName.getNicknames();
String sNickName = nicknames.next();
Iterator<TelephoneFeature> telephoneNumbers = vcard.getTelephoneNumbers();
TelephoneFeature next = telephoneNumbers.next();
String telephone = "";
while(vcard.getTelephoneNumbers().hasNext())
{
TelephoneFeature next1 = vcard.getTelephoneNumbers().next();
telephone = next1.getTelephone();
System.out.println(telephone);
}
Iterator<TelephoneParameterType> telephoneParameterTypes = next.getTelephoneParameterTypes();
TelephoneParameterType next1 = telephoneParameterTypes.next();
String type = next1.getType();
TelephoneParameterType next2 = telephoneParameterTypes.next();
String type2 = next2.getType();
System.out.println(name);
System.out.println(sEmail);
System.out.println(sNickName);
System.out.println(type);
System.out.println(type2);
} catch (IOException ex)
{
ex.printStackTrace();
}
}
}
그러나 getNumber() 또는 뭔가라는 메서드가 없습니다. 휴대 전화 번호와 토지 번호를 얻으려면 어떻게해야합니까? 도와주세요!
참고 : 코드를 업데이트했습니다. 거기에서, 나는 그 전화 번호를 얻을 수 있었다는 것을 알 수있다. 그러나 이것은 HOME 전화 만 반환하며 다른 것은 반환하지 않습니다. 심지어 루프가 멈추지 않습니다. 도와주세요!
나는 또한 유형UPDATE를 볼 수
TelephoneFeature.getTelephoneParameterTypes()
에서 살펴 보는 게 좋을 것
TelephoneFeature.getTelephone()
내가
이 반복자 조심 볼 수 있습니다
답장을 보내 주셔서 감사합니다. 이걸 확인하려면 30 분을주세요 :) –
awesome! 고마워 할 말이 없어! 지금 일하고있다 !!!!! –
제발 나를 도울 수 있도록 여기에 너무 도움이 http://stackoverflow.com/questions/12153852/unable-to-read-vcards-with-address –