【发布时间】:2015-05-11 17:01:01
【问题描述】:
请有人帮助我。如何在java中创建vcard文件?
它必须包含几个字符串
String name
String family name
String phone
String email
..以及如何为这些属性设置类型,例如home、work等?
我在互联网上没有找到任何有用的东西,所以我想向 Stackoverflow 社区寻求一些建议。
【问题讨论】:
请有人帮助我。如何在java中创建vcard文件?
它必须包含几个字符串
String name
String family name
String phone
String email
..以及如何为这些属性设置类型,例如home、work等?
我在互联网上没有找到任何有用的东西,所以我想向 Stackoverflow 社区寻求一些建议。
【问题讨论】:
您可以为此使用 Java 库,例如 https://github.com/mangstadt/ez-vcard,或者您只需创建一个符合 vcard 的字符串并将其写入文件。有关 vcard 外观的信息,请参阅 wiki 页面 http://en.wikipedia.org/wiki/VCard。
【讨论】:
使用 pur java 创建一个 vcf 文件。我偶然发现了这个:http://luckyjava.blogspot.de
因为一个 url 可能会失效,这里是源代码:
import java.io.*;
public class Vcard
{
public static void main(String[] args) throws IOException
{
File f=new File("contact.vcf");
FileOutputStream fop=new FileOutputStream(f);
if(f.exists())
{
String str="BEGIN:VCARD\n" +
"VERSION:4.0\n" +
"N:Gump;Forrest;;;\n" +
"FN:Forrest Gump\n"+
"ORG:Bubba Gump Shrimp Co.\n"+
"TITLE:Shrimp Man\n"+
"TEL;TYPE=work,voice;VALUE=uri:tel:+1-111-555-1212\n"+
"TEL;TYPE=home,voice;VALUE=uri:tel:+1-404-555-1212\n"+
"EMAIL:forrestgump@example.com\n"+
"REV:20080424T195243Z\n"+
"END:VCARD";
fop.write(str.getBytes());
//Now read the content of the vCard after writing data into it
BufferedReader br = null;
String sCurrentLine;
br = new BufferedReader(new FileReader("contact.vcf"));
while ((sCurrentLine = br.readLine()) != null)
{
System.out.println(sCurrentLine);
}
//close the output stream and buffer reader
fop.flush();
fop.close();
System.out.println("The data has been written");
} else
System.out.println("This file does not exist");
}
}
【讨论】: