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或2 String 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)); } }