现在的app动不动就要访问手机联系人,于是突发奇想把自己手机里面导很多假联系人,让他去获取。于是随便写了一下代码生成了.vcf后缀的联系人文件,可以直接导入到手机里面去。下面代码一些写的不规范:比如流的关闭、异常的处理、数据刚好是1000的倍数的时候最后一个文件为空等。这个不影响我要实现的功能。各位看官自己可以调整调整。下面是生成的文件体和源码

package contact;import java.io.*;
import java.util.Random;public class contact {/*** 联系人文件格式* BEGIN:VCARD* VERSION:3.0* N:李;小虎;;;* FN:李小虎* TEL;TYPE=CELL:15645698336* END:VCARD*/public static void main(String[] args) {String filePath = "E:\\SoftwareOperatingDirectory\\IntelliJIDEA\\FileTest";String fileName = "0-200.vcf";try {BufferedWriter bufferedWriter = getBufferedWriter(filePath, fileName);for (int i = 0; i < 1000; i++) {writeOne(bufferedWriter, createName(), createPhone());if ((i + 1) % 200 == 0) {fileName = (i + 1) + "-" + (i + 201) + ".vcf";bufferedWriter.close();bufferedWriter = getBufferedWriter(filePath, fileName);}}System.out.println("文件生成完毕:" + filePath);} catch (Exception e) {} finally {}}/*** 获取写出流** @param filePath* @param fileName* @return* @throws IOException*/public static BufferedWriter getBufferedWriter(String filePath, String fileName) throws IOException {File file = new File(filePath);if (!file.exists()) {file.mkdirs();}file = new File(filePath + "\\" + fileName);if (file.exists()) {file.delete();}file.createNewFile();FileOutputStream fileOutputStream = new FileOutputStream(file, true);OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream, "UTF-8");BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);return bufferedWriter;}/*** 写出文件** @param bufferedWriter* @param name* @param phoneNo* @throws IOException*/public static void writeOne(BufferedWriter bufferedWriter, String name, String phoneNo) throws IOException {String xing = name.substring(0, 1);String ming = name.substring(1);bufferedWriter.write("BEGIN:VCARD" + "\n");bufferedWriter.write("VERSION:3.0" + "\n");bufferedWriter.write("N:" + xing + ";" + ming + ";;;" + "\n");bufferedWriter.write("FN:" + name + "\n");bufferedWriter.write("TEL;TYPE=CELL:" + phoneNo + "\n");bufferedWriter.write("END:VCARD" + "\n");}/*** 生成随机名字** @return*/public static String createName() {String surNameString = "丁|万|上|丌|丘|东|严|丰|乌|乐|乔|乜|习|于|云|五|井|亢|人|仇|仉|从|令|仰|仲|任|伊|伍|伏|伯|何|佘|余|佟|佴|侯|俞|俟|倪|傅|储|元|充|党|全|公|关|养|冀|冉|农|冯|况|冶|冷|凌|凤|刁|刘|利|别|劳|勾|包|匡|华|卓|单|南|卜|卞|卢|卫|印|危|卻|厉|厍|双|叔|古|台|史|叶|司|吉|后|向|吕|吴|周|呼|和|咸|哈|唐|商|喻|国|堵|墨|壤|夏|夔|太|夹|奚|姓|姚|姜|姬|娄|子|孔|孙|孟|季|宁|宇|安|宋|宓|宗|官|宣|宦|宫|宰|家|容|宿|寇|富|寿|封|尉|尚|尤|尹|居|屈|屠|山|岑|岳|崔|嵇|巢|左|巩|巫|巴|帅|师|席|常|干|平|年|幸|广|庄|应|庞|康|庾|廉|廖|延|弓|弘|张|强|归|彭|徐|徒|微|怀|惠|慎|慕|戈|戎|成|戚|戴|房|扈|扶|拓|支|政|敖|文|方|於|施|时|昌|明|易|昝|晁|晋|晏|景|暨|暴|曲|曹|曾|有|木|朱|权|李|杜|束|杨|杭|松|林|柏|查|柯|柳|柴|栾|桂|桑|桓|梁|梅|楚|樊|欧|正|步|武|殳|段|殷|毋|毕|毛|水|汝|江|池|汤|汪|汲|沃|沈|沙|法|洪|浦|海|涂|淳|温|游|湛|滑|滕|满|漆|潘|澹|濮|焦|熊|燕|爱|父|牛|牟|牧|狄|狐|王|班|琴|璩|甄|甘|生|甫|田|申|白|百|皇|皮|益|盖|盛|相|督|瞿|石|祁|祖|祝|禄|福|禹|离|秋|秦|程|穆|空|窦|章|童|端|竺|符|笪|第|简|管|籍|米|糜|索|红|纪|终|经|缑|缪|罗|羊|羿|翁|翟|耿|聂|胡|胥|能|臧|舌|舒|良|艾|芮|花|苍|苏|苗|范|茅|茹|荀|荆|荣|莘|莫|萧|葛|董|蒋|蒙|蒯|蒲|蓝|蓟|蓬|蔚|蔡|蔺|薄|薛|虞|融|衡|袁|裘|裴|褚|西|解|言|訾|詹|计|许|诸|谈|谢|谭|谯|谷|贝|贡|贲|费|贺|贾|赏|赖|赫|赵|越|跋|路|车|轩|辕|辛|边|连|迟|逄|通|逯|邓|邢|那|邬|邰|邱|邴|邵|邹|郁|郈|郎|郏|郑|郗|郜|郝|郦|郭|都|鄂|鄢|酆|里|金|钟|钦|钭|钮|钱|长|门|闫|闵|闻|闾|阎|阙|阚|阮|阳|阴|陆|陈|陶|隆|隗|雍|雕|雷|霍|靳|鞠|韦|韩|韶|项|须|顾|颛|颜|饶|马|驷|骆|高|鬱|魏|鱼|鲁|鲍|鲜|麻|黄|黎|齐|龙|龚";String[] surName = surNameString.split("\\|");String wordString = "一|七|万|三|上|专|且|世|丝|丫|中|为|主|丽|乃|久|义|之|乐|乐|乔|乙|也|习|乡|书|了|五|井|亚|亦|享|京|亭|亮|亲|人|亿|什|仁|今|介|仕|他|仙|令|仪|任|企|伊|众|伟|伦|伽|佳|依|侠|侬|俊|俏|信|俪|修|健|儒|元|兢|全|六|兰|兴|其|具|养|兼|冀|内|冉|军|农|净|凝|几|列|则|利|剑|力|加|努|劲|劳|勇|勤|匿|十|千|升|午|协|卓|南|卡|卢|卫|历|厘|参|友|双|召|台|史|叶|司|吉|同|向|君|启|吴|吻|吾|周|味|哲|唐|唯|善|喜|嘉|四|因|园|图|圆|土|圣|坚|基|堂|壮|壹|夏|夕|夙|天|太|奈|奕|奖|奴|她|如|妞|妥|妩|妮|始|委|姗|姣|姬|威|娇|娜|娟|娩|婉|婧|婷|孝|季|学|宁|它|宇|守|宋|宗|宜|实|审|家|家|容|寂|寿|将|尊|少|尚|尼|居|屈|山|岁|岩|左|巧|市|帅|希|年|幸|庶|廖|建|弦|强|录|彤|影|御|心|忍|志|忠|念|怜|思|怡|性|恋|恣|恬|息|恰|悉|悠|悦|情|意|愿|憬|我|戚|所|扬|拉|拓|拿|振|捷|支|敬|数|文|新|施|旋|族|无|日|早|旬|时|旺|易|昔|昙|星|昵|晋|晓|晟|景|晴|晶|智|曲|月|有|朕|朗|望|朝|未|术|权|杉|束|杰|松|林|柔|柳|树|栖|栾|桑|梁|森|楠|橘|欣|正|武|殷|水|永|江|沃|泉|泰|泽|洋|津|洲|济|浪|涛|润|淘|清|渊|源|溪|滋|激|灵|炫|炯|然|煦|照|熙|熟|燎|爽|牛|特|率|玉|王|玖|玮|玲|玺|珍|珞|珺|琅|琉|琪|琳|琼|瑙|瑞|瑾|璋|璐|甚|甜|生|田|甲|申|男|界|皎|盈|益|盛|直|相|真|眷|睿|矜|知|石|研|确|磊|礼|祈|祖|神|祥|禧|秀|秋|秦|积|稳|穗|穹|立|竞|竟|童|竹|笑|简|箭|籍|粒|精|系|素|索|紫|纤|纤|纪|纬|纳|纽|经|绚|络|统|绢|维|绿|缘|网|罗|署|羡|群|翁|翎|翔|翼|者|耐|聆|联|聚|肖|胜|能|腾|自|至|致|舍|舒|舜|舞|舟|舰|良|色|艺|节|芝|苏|苑|若|英|茄|茜|茜|茵|荆|荔|荣|莉|莱|莲|莹|莺|菁|菊|菌|蓝|蕾|薇|蜀|融|行|解|言|誉|誓|记|许|详|诺|谈|谐|谦|谨|贞|贤|赖|赛|赞|赢|起|趋|跃|轩|辽|迅|运|连|适|逊|逍|途|通|逸|遂|郎|酋|醉|释|里|重|金|鉴|鑫|钧|钻|铁|铜|银|锁|锐|锦|长|闪|问|闰|阳|阶|际|陆|隆|难|雀|雄|雅|集|雪|雯|零|雾|震|霓|霞|露|青|靓|靖|静|音|韵|项|顺|颂|颐|颖|首|香|馨|驼|骏|骑|鲜|鲸|鹰|鹿|黎|齐|龙|龟";String[] word = wordString.split("\\|");int surNameLength = surName.length;int wordLength = word.length;Random rand = new Random();//获取姓String xing = surName[rand.nextInt(surNameLength)];//名的字数 获取为1或2String ming;int wordSize = rand.nextInt(2) + 1;if (wordSize == 1) {ming = word[rand.nextInt(wordLength)];} else {ming = word[rand.nextInt(wordLength)] + word[rand.nextInt(wordLength)];}return xing + ming;}/*** 生成随机手机号** @return*/public static String createPhone() {String phonePrefixString = "130|131|132|133|134|135|136|137|138|139|145|146|147|149|150|151|152|153|155|156|157|158|159|166|173|175|176|177|178|180|181|182|183|184|185|186|187|188|189|199";Random random = new Random();String[] phonePrefixSet = phonePrefixString.split("\\|");return phonePrefixSet[random.nextInt(phonePrefixSet.length)] + (int) (Math.random() * Math.pow(10, 8));}
}

创建联系人vcf文件通讯录相关推荐

  1. 关于QQ通讯录的应用及vcf文件导入手机的乱码问题

    题记:最近果真是诸事不顺,没钱的日子里手机又丢了,还是比较伤心滴,更伤心地是我那里面有各种日期提醒啊,无限郁闷中...最最伤心的是我好久都没备份手机通讯录了,好多人的联系方式都没了,不过这两天倒是记住 ...

  2. pta通讯录排序用python实现,python实现将android手机通讯录vcf文件转化为csv

    经常会遇到将手机通讯录导出到电脑并转化为在电脑中可编辑的情况,在网上搜索了很久当前不外乎两种处理方式.1.使用电脑的outlook的通讯簿功能,将手机导出的vcf文件导入到outlook的通讯录中,然 ...

  3. Python 导出手机通讯录文件 VCF 文件中的手机号码

    文章目录 Python 导出手机通讯录文件 VCF 文件中的手机号码 1.代码 Python 导出手机通讯录文件 VCF 文件中的手机号码 1.代码 if __name__ == '__main__' ...

  4. 从Outlook导出联系人到VCF文件

    场景:从Outlook里想导出联系人到vcf格式,但是找了一下没有发现可以直接导出的方法,网上找到如下变通导出方式. 1. 启动Outlook,新建一封邮件 2. 点击插入--名片--其他名片 3. ...

  5. C#导出到通讯录 生成微信头像跟VCF文件 并把头像保存在阿里云

    /// <summary>         /// 导出到通讯录 生成微信头像跟VCF文件         /// </summary>         /// <ret ...

  6. vCard通讯录(vcf文件)转excel表格的方法

    vCard通讯录文件也是vcf文件,一般用来导出导入手机通讯录,vcf文件基本上手机都通用都支持的,很多人都是用这个格式来备份通讯录.但是vcf文件除了手机通讯录,在其他地方查看起来不太方便,这时候我 ...

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

    1.先看此贴,了解cardme工具 cardme包部分知识扩充链接地址:使用cardme读写VCard文件,实现批量导入导出电话簿 2.首先准备jar包 我已经打包到百度云网盘,里面有源码和jar包, ...

  8. nokia vcf文件导入iphone(转)

    终于要告别nokia,进入苹果时代,研究了几天的iphone,发现易用性方面还真是不如安卓,没办法只能去适应,首先就是通讯录的导入问题,用的是如下链接的方法,虽然苯一点但是可以保证不遗漏: 如何批量导 ...

  9. SharePoint 2010 创建联系人列表和使用联系人列表

    SharePoint 2010 创建联系人列表和使用联系人列表 作为一款协同办公系统,联系人列表是必不可少的,SharePoint 2010里提供了"联系人列表模板",我们可以基于 ...

  10. 利用snpEff对基因型VCF文件进行变异注释的详细方法

    利用snpEff对VCF文件进行变异注释 群体遗传研究中,在获得SNP位点后,我们需要对SNP位点进行注释,对这些SNP位点进行更深的了解. snpEff是一个用于对基因组单核苷酸多态性(SNP)进行 ...

最新文章

  1. net core mysql 连接池_EF Core 小坑:DbContextPool 会引起数据库连接池连接耗尽
  2. Ubuntu安装设置nginx和nohup常用操作
  3. linux kill命令使用
  4. 01-NVIDIA Jetson TX2开箱上电显示界面
  5. pythonsuper函数_认识python中的super函数
  6. npm : 无法加载文件 D:\Program Files\nodejs\node_global\npm.ps1,因为在此系统上禁止运行脚本。
  7. matlab和python中的svd分解的区别
  8. java线程runnable_Java 线程状态之 RUNNABLE
  9. JSP使用JSON传递数据,注意避免中文乱码
  10. JS多个对象添加到一个对象中
  11. 【原】StreamInsight 浅入浅出(四)—— 例子
  12. 用户输入一个字符串,将下标为偶数的字符提出来合并成一个新的字符串A,再将下标为奇数的字符提出来合并成一个新的字符串B,再将字符串A和B连接起来并输出。
  13. java中路由的使用方法_java – 在camel路由中使用方法作为生产者
  14. 遍历枚举,添加进DropDownist
  15. 排序 —— 希尔排序(Shell sort)
  16. Linux_开机自动挂载磁盘
  17. java 打印excel
  18. Matlab并行编程cellfun arrayfun
  19. ORB特征提取算法解析
  20. Mysql中类似于oracle中nvl()函数的ifnull()函数

热门文章

  1. 功率曲线k值_锂电池放电曲线全面解析
  2. 连续优化、离散优化、组合优化、整数优化和凸优化
  3. 努比亚计科学计算机,努比亚Z系列迎来迭代新机,Geekbench跑分出炉,预计春节后发布...
  4. 网络游戏植入广告案例
  5. SQLFeatureNotSupportedException: isValid
  6. 如何用计算机函数来求加权总分,Excel小技巧-使用函数「SUMPRODUCT」计算加权后的总和及平均值...
  7. 微信-支付宝---人脸识别认证
  8. 【万人千题】结对编程排位赛(第一期) 第一周 排名公布,这也太卷了
  9. 纪检委,检察院的工资
  10. iOS两个强制旋转屏幕的方法