java - 使用 Cardme Java 创建 VCard

标签 java vcf-vcard

嗨 我正在尝试使用 Cardme API 在 Java 中创建一个 vcard (.vcf) 文件。 我可以保存一个 .vcf 文件,但它没有内容而且是空的。 请在下面找到我的代码,

private void generateVCard(Card card){
    HelperClass helper = new HelperClass();
    VCardImpl vcard = new VCardImpl();
    BeginFeature begin = new BeginFeatureImpl();
    vcard.setBegin(begin);
    vcard.addEmail(helper.formEmailFeature(card));
    vcard.addAddress(helper.formAddress(card));
    vcard.addPhoto(helper.formPhotoFeature(card));
    vcard.addTelephoneNumber(helper.formTelephoneFeature(card));
    vcard.setName(helper.formNameFeature(card));
    vcard.setFormattedName(helper.formattedName(card));
    saveToFile("vc.vcf",vcard);
}
/**
   *  This function saves a VCard to disk.
   */
  public void saveToFile( String fileName , VCard vcard) {
      Writer output = null;   
      File file = new File("fileName");   
      try {
        output = new BufferedWriter(new FileWriter(file));
         output.write(vcard.toString());  
          output.flush();  
          output.close(); 
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }   
  }

感谢解决此问题的任何帮助。

最佳答案

您需要导入正确的输出类:

import info.ineighborhood.cardme.io.VCardWriter;

或者在最新版本的库 (v0.3.3) 中,包是:

import net.sourceforge.cardme.io.VCardWriter; 

然后使用它:

/**
     *  This function saves a VCard to disk.
     */
    public static void saveToFile( String fileName , VCard vcard) {
    Writer output = null;   
    File file = new File("fileName");   
    try {
        output = new BufferedWriter(new FileWriter(file));
        VCardWriter writer = new VCardWriter();
        writer.setVCard(vcard);
        output.write(writer.buildVCardString());  
        output.flush();  
        output.close(); 
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }   
    }

关于java - 使用 Cardme Java 创建 VCard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5827609/

相关文章:

java - com.google.firebase.FirebaseException : An internal error has occurred. [ 7: ]

java - 文件上传进度条?

java - Tomcat 8.0中运行的JSP如何加载非Config文件

Android - 如何通过短信/彩信发送/阅读 vCard?

android - 通过 Intent 打开 vCard

ios - 发送 vCard 更新

java - 是否可以在 Spring MVC 中进行自动 url 映射?

java - 转换参数如何影响 java 中的覆盖和重载方法?

android - 在 Android 7 中,ContentResolver 的方法 openAssetFileDescriptor(vCardUri, "r") 返回具有 declaredLength 为 -1 的 AssetFileDescriptor

java - 如何在Java中使用自己的数据创建vcard?