日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

使用cardme读写VCard文件,实现批量导入导出电话簿

發(fā)布時(shí)間:2023/12/3 c/c++ 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用cardme读写VCard文件,实现批量导入导出电话簿 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載自?使用cardme讀寫VCard文件,實(shí)現(xiàn)批量導(dǎo)入導(dǎo)出電話簿

首先下載jar包c(diǎn)ardme。

http://sourceforge.net/projects/cardme/?source=navbar

cardme是基于java語言的操作vCard(后綴vcf)文件的開源項(xiàng)目。

在項(xiàng)目中有一個(gè)類net.sourceforge.cardme.engine.TestParser。是官方給的example。

先來梳理幾個(gè)基本概念

VCardEngine:主要用于從字符、文件中格式化或讀取VCard數(shù)據(jù),并轉(zhuǎn)換為VCard對象

VCardWriter:主要用戶把VCard對象裝換為字符,方便寫入文件。很難理解的是沒有VCardReader對象。而VCardEngine對象卻做著VCardReader對象的事兒。

VCard:可以理解為名片。定義了名片的基本協(xié)議(接口)。

VCardImpl:名片的實(shí)現(xiàn)類。

VCardType:名片的數(shù)據(jù)。名片的數(shù)據(jù)都是有類型的比如電話TelType,名字NameType,地址AdrType


基本概念理解了。我們來看看如何使用這些API

第一個(gè)需求讀取

會(huì)使用到VCardEngine類主要有如下API

parse:是一個(gè)方法,方法含義為:從一個(gè)文件(或字符)中讀取(格式化)VCard對象。如果參數(shù)是一個(gè)數(shù)組,那么多久返回一個(gè)VCard對象數(shù)組

parseMultiple:也是一個(gè)重載方法。含義為從一個(gè)文件(或字符)中讀取(格式化)多個(gè)VCard對象。

讀取接口很簡單。只要理解了上面的幾個(gè)基本概念,就完全沒有問題了。

第二個(gè)需求寫入

TestParser中只是把VCard對象轉(zhuǎn)換為了字符。并沒有寫入文件,也沒有就VCardType做任何example。

VCardWriter writer = new VCardWriter(VCardVersion.V3_0, CompatibilityMode.RFC2426);//用戶把VCard轉(zhuǎn)換為字符

FileWriter fw = new FileWriter(new File("F:/tel/0.vcf"));//把VCard數(shù)據(jù)(字符)寫入文件

VCardImpl vc = new VCardImpl();//創(chuàng)建一個(gè)名片

//設(shè)置名片名字(FNType)。Sets the FN type. This type must be set in the VCard and cannot be omitted, it can however be left with all empty values.文檔說這個(gè)值必須設(shè)置,不能忽略。

vc.setFN(new FNType("張三");

//給名片添加一個(gè)電話號(hào)碼。名片是可以有多個(gè)號(hào)碼的

vc.addTel(new TelType("13888888888"));

writer.setVCard(vc);

String str = writer.buildVCardString();//把名片對象轉(zhuǎn)化為字符

fw.append(str);//寫入文件

fw.flush();

fw.close();

對于VCard重點(diǎn)在于理解其VCardType的含義。我的理解為名片上的數(shù)據(jù),不同的數(shù)據(jù)對應(yīng)不同的VCardType實(shí)現(xiàn)。


總結(jié)

以上是生活随笔為你收集整理的使用cardme读写VCard文件,实现批量导入导出电话簿的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。