`
ruilin215
  • 浏览: 1147605 次
  • 性别: Icon_minigender_2
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

自己编写程序批量合并多个“规范定义电子名片(vCard)”文件

阅读更多

  上个周末遇到一个小问题,我希望把手机上的通讯录/联系人名单,从运行Windows CE 6.0系统的M8手机,转移到运行Google Android 2.2系统的M8手机上。对比了几套方法,感觉这个比较简单而且靠谱:先在PC上把通讯录导入Google Accounts,然后再同步到Android系统手机中。

  在运行Windows CE 6.0系统的M8手机中生成的是许多个vCard文件(*.vcf)(具体生成方法见文末),每个联系人单独一个文件。而Google Accounts只允许一次导入一个vCard文件,完全手工操作的话,几百个vCard文件要累死人不偿命的。嗨嗨,很明确的需求来了:把指定目录下的所有vCard文件(*.vcf),合并成一个vCard文件。

  先看看单个联系人的vCard(.vcf)内容:

  再看看多个联系人共用一个vCard(.vcf)的情况:

  可见,多个联系人共用一个vCard(.vcf),其文件内容是单人vCard(.vcf)文件内容的叠加(间隔以空行)。用程序实现起来非常之简单:枚举指定目录下的所有vCard(.vcf)文件,读取其内容,转换为文本叠加到一起,最后把合并后的内容写出到一个vCard(.vcf)文件即可。太简单了,我(liigo)用易语言,没两分钟就写完了:

易语言代码,把多个vCard(.vcf)文件合并为一个vCard(.vcf)文件

  运行以上代码,就会在D盘根目录下生成合并后的vCard(.vcf)文件,将其往Google Accounts里面导入,很顺利地完成了,检查导入后的数据无误,证明vCard合并结果是正确的。

  程序源代码中,为什么把文件路径(“C:\Documents ...”,“d:\myVCards.vcf”)硬编码进去?呵呵,这可不是一个通用的程序,这是运行一次完成任务之后就要丢弃的代码。这种生存周期不足三分钟的程序源代码,弃之毫不足惜;如果将来又遇到类似的功能,随手再写一遍,也要快于从Windows文件管理器中翻出以前写好的旧代码。

  一个插曲,代码中用到了我多年前开发的一个易语言支持库,辅助调试支持库,想起来该库还不支持易语言5.x静态编译,于是升级之,支持静态编译,并更名为“枚举文件子目录支持库”(已开源)。

  小程序,也能帮大忙。


附:运行Windows CE 6.0系统的M8手机中生成vCard文件的方法:进入通讯录,点击任意联系人,用蓝牙发送,确定后即可在设备根目录(非Disk根目录)下tmpvcard子目录中看到临时自动生成的vCard文件(.vcf),每个联系人各自对应一个vCard文件。我(liigo)建议操作前清空tmpvcard目录,因为先前生成的vCard文件不会被自动删除。另参见此帖:http://bbs.meizu.com/viewthread.php?tid=1978771

分享到:
评论
1 楼 GeneralSnow 2011-12-31  
没有有一个共用的模板

相关推荐

    教你如何制作电子名片vcard归纳.pdf

    在Outlook中,点击“文件”>“新建”>“联系人”,根据提示填写信息,完成后选择“文件”>“导出到vCard文件”,同样可以生成vCard文件,而且Outlook支持导入更多详细信息,如生日、备注等,使得名片内容更为全面。...

    vcard批量导入 abcvcard

    VCard是一种标准化的电子名片格式,它允许用户存储个人联系信息,如姓名、电话号码、电子邮件地址、地址等。在IT行业中,批量导入VCard文件到各种应用或系统中是常见的需求,尤其对于管理和同步联系人信息至关重要。...

    小米XML文件转Vcard.zip

    VCard文件包含了一条或多条联系人的记录,每条记录包括姓名、电话、邮箱、地址等个人信息,支持多国语言和字符编码,且大多数现代设备和应用程序都支持读取和写入VCard格式。 要将小米XML文件转换为VCard,通常需要...

    VCard实现电子名片保存通讯录.zip

    "VCard实现电子名片保存通讯录"这个主题主要涉及如何使用VCard技术将电子名片的二维码扫描后,自动保存到用户的通讯录中。这一过程涉及到以下几个关键知识点: 1. **VCard格式**:VCard文件通常以.vcf为扩展名,...

    电子名片输出格式通用规范

    4. 电子名片输出格式:电子名片输出格式通用规范规定了电子名片文件内容的格式和编码方式,参考vCard 3.0规范,每个vCard对象均以BEGIN和END标记开头和结尾,中间是多个属性的定义和值。 电子名片输出格式通用规范...

    vcard2.1规范说明书

    vCard 2.1 规范为电子名片提供了一个标准格式,便于不同平台之间的数据交换。通过简单的键值对结构,vCard 支持丰富的联系人信息类型,同时具备良好的兼容性和扩展性。随着信息技术的发展,尽管出现了更新的版本(如...

    基于C#的电子名片(vCard)Demo

    总结来说,"基于C#的电子名片(vCard)Demo"项目融合了C#编程、vCard标准、二维码生成技术、微信API的使用、UI设计、错误处理等多个方面的知识。这样的项目不仅可以提高开发者的技术能力,也为用户提供了一种新颖且...

    Android vCard文件操作总结

    例如,用户可以通过应用程序将自己的联系信息编码成vCard,然后通过电子邮件、短信或其他分享方式发送给他人。 - Android API提供了`VCardComposer`类,方便开发者创建vCard格式的字符串,包括自定义字段和多个联系...

    VCard名片批量整理成excel小工具

    VCard名片批量整理成excel小工具。 名片输出来之后是一堆vcf文件(vcard),不好整理不好保存,想把它们批量弄成一个excel文件,也没找到合适的工具,于是自己写了个。 带着代码、带着exe、例子

    Vcard(vcf)文件生成器 v6.5.zip

    5、多个vcf文件时,以自定义长度的数字作为名称,定义方法在选项 6、通过选项功能可以设置是否“自动检查更新”,是否打开下方的提示信息窗口(此项仅注册版有效)。 Vcard(vcf)文件生成器截图

    android vcard文件导入导出jar

    VCard文件由多个记录组成,每个记录代表一个联系人。记录由不同的字段(如FN:全名,TEL:电话,EMAIL:电子邮件等)和值组成,每个字段以冒号":"分隔,而每个记录则以两个连续的新行分隔。例如: ``` BEGIN:VCARD ...

    vCard_src.zip

    总的来说,"vCard_src.zip"中的"vCard.vb"源代码为我们提供了一个了解如何在VB环境中处理vCard文件的机会,学习如何解析、创建和修改这种重要的电子名片格式。这不仅对理解vCard标准本身有帮助,而且对于开发涉及...

    vCard.rar_C语言 通讯录_c vcard_vCard_通讯录_通讯录 C语言

    vCard文件遵循一定的结构,每条记录由多个属性字段组成,每个字段都有特定的键值对。 2. **C语言基础**: 在C语言中,实现vCard解析意味着要处理字符串、内存管理和文件I/O。C语言提供了基本的库函数,如`fopen`、...

    多个VCF合并为一个VCF

    ### 多个VCF文件合并为一个VCF文件的方法 在日常工作中,我们经常会遇到需要管理大量联系人信息的情况,特别是在进行数据迁移或整合时。VCF(vCard)文件是一种常用的格式,用于存储和传输联系人信息。当面对多个...

    通讯录vcf转excel工具_v6.6.3_vCard_excel转vCard_vcf文件生成器_

    "通讯录vcf转excel工具_v6.6.3_vCard_excel转vCard_vcf文件生成器_" 提供了一个解决方案,它使得在VCF(电子名片)格式和Excel之间进行数据迁移变得简单易行。 VCF,全称Virtual Contact File,是一种标准格式,...

    Txt转换Vcard格式

    标题中的“Txt转换Vcard格式”指的是一个技术过程,它涉及到将文本文件(.txt)中的联系人数据转换成VCard(.vcf)格式,这种格式被广泛用于电子名片和手机联系人管理。VCard是一种国际标准,允许用户交换个人联系...

    VCard实现电子二维码.zip

    2. **VCard生成**:程序将这些数据转化为符合VCard规范的文本文件,也就是.vcf文件。 3. **二维码编码**:使用QR码库(如ZXing或qrcode.js)将VCard数据编码为二维码图像。二维码的设计使得它可以存储大量的信息,...

    vcard转excel工具vcf转excel工具

    VCard是一种标准格式,用于存储个人联系信息,如姓名、电话号码、电子邮件地址等,常在电子名片或手机联系人中使用。Excel则是一种广泛使用的电子表格程序,适合数据分析、组织和共享信息。"vcard转excel工具vcf转...

    Python实现vCard3.0转vCard2.1

    vCard是一种标准化的电子名片格式,用于存储个人或组织的联系信息,如姓名、电话号码、电子邮件地址等。它在不同的设备和应用之间交换联系人信息时非常方便。vCard有多个版本,其中vCard2.1是较早的一个版本,而...

    vcard4j-1.1.3.zip

    VCard是一种标准化的电子名片格式,用于存储个人或组织的联系信息,如姓名、电话号码、电子邮件地址等。在Java编程环境中,处理VCard文件通常需要特定的库或插件来解析和操作这些数据。"vcard4j-1.1.3.zip"是一个...

Global site tag (gtag.js) - Google Analytics