文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

golang如何生成vcf通讯录格式文件

2023-06-29 16:35

关注

小编给大家分享一下golang如何生成vcf通讯录格式文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

前言:

vcf文件:VCF是通讯录格式文件,一般需要用手机通讯录导入导出的文件格式都是vcf格式。

目的:如果你是卖房销售,或者你是做什么推销的,你可以生成同城的手机号,一个个打电话推销。

1.源码

package numberimport ("bufio""fmt""io""os""strconv""strings""time")const (inputFilePath = "D:/phone.txt"fileName = "洛阳"last = "36"fileSize = 5outputPath = "D://phoneNumber")func getNum(fileName string) int {var num = 1for {if _,err:=os.Stat("D://phoneNumber/" + fileName + strconv.Itoa(num)+".vcf");os.IsNotExist(err){return num}num++}}func Exe() {mid := read()for i:=0;i<len(mid);i=i+5{var subList []stringif i+fileSize<len(mid){subList = mid[i:i+fileSize:len(mid)]}else{subList = mid[i:len(mid):len(mid)]}fmt.Println(subList)MyTest(subList,fileName,last)}}func MyTest(mid []string,fileName string,last string){num := getNum(fileName)file, err := os.OpenFile(outputPath+"/" + fileName +strconv.Itoa(num) +".vcf", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)if err != nil {fmt.Println("文件打开失败", err)return}//及时关闭file句柄defer file.Close()write := bufio.NewWriter(file)count:=1for i := 0;i<len(mid);i++{for j := 0;j<100;j++{phoneNumber := strings.ReplaceAll(mid[i],"\r\n","") + fmt.Sprintf("%02d", j) + lastmakeNumber(phoneNumber,write,strconv.Itoa(count))count++}}makeNumber("15804299051",write,strconv.Itoa(count))write.Flush()fmt.Println("文件创建成功,时间:"+time.Now().Format("2006-01-02 15:04:05"))}func makeNumber(num string,w *bufio.Writer,index string){w.WriteString("BEGIN:VCARD" + "\r\n")w.WriteString("VERSION:3.0" + "\r\n")w.WriteString("FN;CHARSET=UTF-8:1" + "\r\n")w.WriteString("N;CHARSET=UTF-8:;;" + "A"+index +";;" + "\r\n")w.WriteString("TEL;TYPE=CELL:" + num + "\r\n")w.WriteString("END:VCARD" + "\r\n")}func read() []string{var mid []stringf, err := os.Open(inputFilePath)if err != nil {panic(err)}defer f.Close()rd := bufio.NewReader(f)for {line, err := rd.ReadString('\n') //以'\n'为结束符读入一行if err != nil || io.EOF == err {break}mid = append(mid,line)}fmt.Println("mid size:" + strconv.Itoa(len(mid)))fmt.Println("mid " )fmt.Println(mid)return mid}

2.源码解析

golang如何生成vcf通讯录格式文件

inoputFilePath是输入文件,也就是你想生成哪个城市的电话号的前六位。last是后两位。

outputPath是生成文件目录

比如188**23,后两位就是23,fileSize是文件号码数量。5代表一个文件500个电话号

golang如何生成vcf通讯录格式文件

golang如何生成vcf通讯录格式文件

文件来源直接百度搜。比如洛阳188查号吧

golang如何生成vcf通讯录格式文件

golang如何生成vcf通讯录格式文件

查好了复制进去即可。

3.运行结果

golang如何生成vcf通讯录格式文件

以上是“golang如何生成vcf通讯录格式文件”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯