创建联系人vcf文件通讯录

现在的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));}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/251750.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

CAD测面积周长

点取闭合区域中的一点&#xff0c;计算闭合区域的面积。 1.单击ET”工具栏的“面积周长命令”按钮。 2.在命令行中输入ET_CaleArea&#xff0c;按回车键。 执行命令后&#xff0c;命令行将显示如下信息&#xff1a; 命令: MxET_CaleArea 拾取闭合区域内部点: 计算的面积为…

怎样去测量CAD面积?

2019独角兽企业重金招聘Python工程师标准>>> 我们在利用CAD看图软件查看CAD图纸时&#xff0c;有时候需要对里面的CAD图形面积进行测量&#xff0c;那么我们应该怎么测量CAD图纸面积&#xff1f;怎样用CAD测量面积&#xff1f;CAD面积怎么算&#xff1f; 1.准备一款…

ROS:发布者Publisher的编程实现(C++)

目录 一、话题模型二、创建功能包三、创建Publisher代码四、编译代码五、运行 一、话题模型 图中&#xff0c;我们使用ROS Master管理节点。 有两个主要节点&#xff1a; Publisher&#xff0c;名为Turtle Velocity&#xff08;即海龟的速度&#xff09; Subscriber&#xff0c…

GlobalMapper20:10分钟根据CAD、shp等离散高程点生成一份精准边界的地形数据

序&#xff1a; 做工程设计&#xff0c;规划设计也好&#xff0c;经常性需要地形数据&#xff0c;而到手的数据多数为excel、txt等文本文件&#xff0c;或者等高线等cad文件。 设计方案汇报是设计项目经理的主要职责&#xff0c;经常需要把设计中的地形&#xff08;shp、cad、…

CAD中怎么批量标注坐标?CAD批量标注坐标​

在CAD绘图过程中&#xff0c;当需要进行有大量CAD坐标标注时&#xff0c;该如何操作呢&#xff1f;下面就来和小编一起来了解一下浩辰CAD建筑中关于批量标注普通坐标的相关操作步骤吧&#xff01; CAD批量标注普通坐标操作步骤&#xff1a; 首先打开浩辰CAD建筑软件&#xff…

ARCGIS格式转CAD时保留其图层、高程及颜色的方法

ARCGIS格式转CAD时保留其图层、高程及颜色的方法 一.转换时&#xff0c;保留高程值 通常情况&#xff0c;shp转CAD格式过程中会丢失某些需要的字段&#xff08;如高程&#xff09;&#xff0c;这是因为CAD无法识别这些字段。如果需要保留某字段的信息&#xff0c;转换之前需添…

CAD导入Revit缺少东西原因-Revit中如何批量导出CAD图纸

一、CAD导入Revit缺少东西原因汇总 在Revit中导入CAD进行模型搭建是建模过程中常用的方法&#xff0c;但是有时会遇到导入的CAD缺少东西的情况&#xff0c;下面介绍几种导致这种问题的原因 1.CAD导入的时候&#xff0c;不是设置为全部可见。 CAD导入Revit中时&#xff0c;“图层…

CAD图纸导入REVIT内并精准建模

整体原理逻辑&#xff1a; 1、CAD图纸(原点至原点&#xff09;导入&#xff0c;作为建模参考底图&#xff0c;此刻测量点、项目基点位置都与CAD图纸原点重合。 2、测量点位置不动&#xff08;目的是为了保障明确参考坐标系原点的坐标&#xff09;&#xff0c;挪动项目基点位置…

CAD中怎么绘制攒尖屋顶?CAD设计攒尖屋顶技巧

在给排水CAD设计中&#xff0c;有些时候为了需要会在图纸中绘制攒尖屋顶&#xff0c;那么你知道CAD软件中怎么构造攒尖屋顶三维模型吗&#xff1f;其实很简单&#xff0c;浩辰CAD给排水软件中提供了实用的攒尖屋顶功能&#xff0c;下面就和小编一起来看看浩辰CAD给排水软件中CA…

CAD中如何识别CAD标高范围?

说到CAD标高&#xff0c;相信很多CAD制图初学入门小伙伴都有所了解&#xff0c;那么浩辰CAD给排水软件中如何识别标高范围呢&#xff1f;接下来的CAD制图初学入门教程就让小编来给大家介绍一下正版CAD软件——浩辰CAD给排水软件中识别CAD标高范围的相关操作技巧吧&#xff0c;感…

CAD地形图等高线标高批量取整工具,解决等高线标高出现小数的问题,等高线高程批量取整,在指定限差内将等高线标高修改为最接近的整数

目录 一、实现效果 二、实现过程 1.暴露等高线标高 2.获取标高小数 3.标高取整 4.标高重新赋值及数据分类输出 5.工具封装 地形图等高线要求高程值须为整数&#xff0c;而在实际生产中&#xff0c;因为某些原因&#xff0c;会出现部分等高线的标高不为整数的情况&#x…

Revit中导入的CAD标高不统一处理及“标高管理”

一、Revit中如何处理导入的CAD标高不统一情况 在Revit中CAD时&#xff0c;尤其是在导入地形CAD文件时&#xff0c;有时会遇到导不进去的情况&#xff0c;这有可能是导入的CAD文件某一个图层标高过大&#xff0c;超出一定范围的原因&#xff0c;如图1所示。 对于这种问题&#x…

CAD中怎么识别标高范围?CAD标高范围识别技巧

说到CAD标高&#xff0c;相信很多CAD制图初学入门小伙伴都有所了解&#xff0c;那么浩辰CAD给排水软件中如何识别标高范围呢&#xff1f;接下来的CAD制图初学入门教程就让小编来给大家介绍一下正版CAD软件——浩辰CAD给排水软件中识别CAD标高范围的相关操作技巧吧&#xff0c;感…

CAD中怎么标注井底标高?CAD井底标高教程

在绘制CAD图纸的过程中&#xff0c;经常会需要添加各种CAD标注&#xff0c;比如&#xff1a;尺寸标注&#xff0c;角度标注等。但是井标注可能很多小伙伴没有听过&#xff0c;接下来的CAD教程就让小编来给大家介绍一下浩辰CAD给排水软件的专业CAD标注中井标注的相关使用技巧吧&…

STM32中TIM对应的引脚

高级控制定时器&#xff08;TIM1与TIM8&#xff09; 通用定时器&#xff08;TIM2~TIM5&#xff09; 基本定时器&#xff08;TIM6与TIM7&#xff09;

td是什么意思php,td是什么意思?

td是大家在生活中或电脑中都很常见的&#xff0c;那么td到底是什么意思呢&#xff1f; 1.有很多英文就算大家不知道什么意思&#xff0c;也经常会见到&#xff0c;td就算其中一个&#xff0c;无论是生活中还是网络中都经常会见到&#xff0c;那么td到底是什么意思呢&#xff0c…

STM32小白学习反思笔记——TIM

我的目标学习任务是使用STM32F429IG&#xff08;挑战者&#xff09;的基本定时器控制LED灯每隔0.5s闪烁一次。 首先我使用了CUBEMX工具进行基础部分配置&#xff0c;配置SYS&#xff0c;Debug为serial wire&#xff0c;RCC的HSE选择crystal/ceramic resonator。 一、设置clock …

TIM输出比较(PWM)

目录 一、输出比较 二、PWM简介 三、通用定时器的输出比较模块怎样输出PWM波形 四、输出比较8种模式 模式的介绍 &#xff08;1&#xff09;冻结 &#xff08;2&#xff09;匹配时电平翻转 &#xff08;3&#xff09;CNT与CCR无效&#xff0c;REF强制为无效电平或者有效电…

TIM_ClockDivision的认识

定时器计时&#xff0c;在目标中的波形&#xff08;例子&#xff09; TIM_ClockDivision TIM_ClockDivision设置了时钟分割。该参数取值见下表。 如图1&#xff0c;TIM_ClockDivision 的作用是做一段延时&#xff0c;一般在特殊场合的时候会用到。 如下图所示&#xff1a;TIM_…

TIM输出比较——PWM

目录 前言 一、什么是输出比较 二、什么是PWM 1. PWM的相关参数&#xff1a; 2.PWM的应用场景&#xff1a; 3.占空比 三.输出比较的几种模式&#xff1a; 四&#xff0c;输出比较的极性 五&#xff0c;在输出比较中,TIM常用函数 六&#xff0c;同一个定时器不同通道输出PWM的特…