使用Cardme读取安卓IOS导出的vcf格式通讯录

本文介绍了如何使用Cardme工具读取安卓和iOS导出的vcf格式通讯录,重点解决了读取汉字出现乱码的问题。通过下载jar包,修改VCardEngine类中关于编码的部分,从gb2312编码的vcf文件中正确地读取内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.先看此贴,了解cardme工具

cardme包部分知识扩充链接地址:使用cardme读写VCard文件,实现批量导入导出电话簿

2.首先准备jar包

我已经打包到百度云网盘,里面有源码和jar包,需要的可以下载:
链接:http://pan.baidu.com/s/1mgGOiHa 密码:n6bk
官方下载地址,最新的是0.4.0版本:cardme

3.更改net.sourceforge.cardme.engine.VCardEngine类,避免读取汉字出现乱码

在此我花了将近一天的时间,来解决乱码问题,在此类中方法getContentFromFile(File vcardFile)中有一个语句,是按照utf-8的编码来操作vcf文件的,我用工具(360手机助手)导出的vcf文件编码是gb2312的,因此在此读入字符流后,编码格式不一致,出现乱码。
接下来修改源码。什么源码不能修改???那你可以在你的工程里新建一个包名一模一样的(net.sourceforge.cardme.engine),然后新建一个VCardEngine类,把源码复制粘贴过去,这时就可以随意更改了。
我们知道类加载的时候是先找自定义的类,如果找不到才去加载你引入的类。
net.sourceforge.cardme.engine.VCardEngine本来的源码是:

        private String
用途:使用excel编辑联系人,导出vcf文件,导入M8通讯录 ------------------------------------------------------------ 修正初始行定位问题 ------------------------------------------------------------ 功能: 1、vcf格式名片文件批量导入 2、自由编辑(Excel自身功能) 3、批量导出vcf格式文件 4、支持备注QUOTED-PRINTABLE编码解码 5、支持项目多值(多个工作电话号码,传真,QQ等) 备注: 1、关于备注项目的换行。 M8中录入带换行的备注,备份后,重新导入,换行丢失,可能是换行符windows,unix格式未转换的原因,估计是个M8系统Bug 2、关于相片 前期测试,将相片数据的base64位码导入excel单元格,由于数据太大,导入速度,处理速度无法满足要求。因本人不想在excel文件之外保存数据,因此此功能未实现,探索其它解决方案。 3、关于自定义铃声 M8导出vcf文件,不含此项定义,无法通过vcf文件来实现。 4、关于vcf文件支持 以上功能,仅对M8系统(0.9.3.8)生成的vcf文件进行测试,因此无法确定是否对其它软件(设备)生成的vcf文件完全兼容。 使用说明 导入: 1、在M8上生成备份数据。进入到设备-系统-数据备份,选择备份,生成备份数据。 2、导入备份文件到Excel。连接USB数据线,点击Excel文件第一个工作表中的导入按钮,在打开文件对话框中,定位到M8/disk/backup/[日期时间]/contact目录,按ctrl+A,全选vcf文件,确定关闭对话框,完成文件导入。 导出: 1、完成数据录入编辑操作,点击Excel文件第一个工作表中的导出按钮,程序自动将文件生成到同位置的VCF_Backup目录下。 2、连接USB数据线,将VCF_Backup目录下的所有vcf文件复制到M8/disk/backup/[日期时间]/contact目录。(可以考虑清除原有的所有文件,如果没有此目录,请先执行M8备份操作) 3、断开USB数据线,执行M8数据恢复操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值