golang生成vcf通讯录格式文件详情


Posted in Golang onMarch 25, 2022

前言:

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

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

1.源码​

package number
/*
@Time : 2021/12/22 17:44
@Author :dengfeng_hu
@File : phone
@Software: GoLand
*/

import (
"bufio"
"fmt"
"io"
"os"
"strconv"
"strings"
"time"
)

const (
inputFilePath = "D:/phone.txt"
fileName = "洛阳"
last = "36"
fileSize = 5
outputPath = "D://phoneNumber"
)

func getNum(fileName string) int {
var num = 1
for {
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 []string
if 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:=1
for i := 0;i<len(mid);i++{
for j := 0;j<100;j++{
phoneNumber := strings.ReplaceAll(mid[i],"\r\n","") + fmt.Sprintf("%02d", j) + last
makeNumber(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 []string
f, 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通讯录格式文件详情的文章就介绍到这了,更多相关golang生成vcf格式文件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Golang 相关文章推荐
go语言-在mac下brew升级golang
Apr 25 Golang
golang如何去除多余空白字符(含制表符)
Apr 25 Golang
go语言求任意类型切片的长度操作
Apr 26 Golang
golang 实现对Map进行键值自定义排序
Apr 28 Golang
go语言基础 seek光标位置os包的使用
May 09 Golang
浅谈Golang 切片(slice)扩容机制的原理
Jun 09 Golang
Go遍历struct,map,slice的实现
Jun 13 Golang
Go中的条件语句Switch示例详解
Aug 23 Golang
详解Golang如何优雅的终止一个服务
Mar 21 Golang
golang操作rocketmq的示例代码
Apr 06 Golang
详解Go语言中配置文件使用与日志配置
Jun 01 Golang
Python测试框架pytest核心库pluggy详解
Aug 05 Golang
golang实现浏览器导出excel文件功能
Golang使用Panic与Recover进行错误捕获
Mar 22 #Golang
Go语言特点及基本数据类型使用详解
详解Golang如何优雅的终止一个服务
Mar 21 #Golang
Go语言实现一个简单的并发聊天室的项目实战
Mar 18 #Golang
浅谈GO中的Channel以及死锁的造成
Mar 18 #Golang
Golang 并发下的问题定位及解决方案
Mar 16 #Golang
You might like
重置版游戏视频
2020/04/09 魔兽争霸
探讨Hessian在PHP中的使用分析
2013/06/13 PHP
smarty中常用方法实例总结
2015/08/07 PHP
php判断目录存在的简单方法
2019/09/26 PHP
DHTML 中的绝对定位
2006/11/26 Javascript
精选的10款用于构建良好易用性网站的jQuery插件
2011/01/23 Javascript
jQuery搜索同辈元素方法
2015/02/10 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
基于jQuery实现音乐播放试听列表
2016/04/14 Javascript
JQuery点击行tr实现checkBox选中的简单实例
2016/05/26 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
JS打开摄像头并截图上传示例
2017/02/18 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
2018/03/22 Javascript
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
2020/02/01 Javascript
JS前端模块化原理与实现方法详解
2020/03/17 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
2020/05/14 Javascript
在vue中axios设置timeout超时的操作
2020/09/04 Javascript
python基础教程之popen函数操作其它程序的输入和输出示例
2014/02/10 Python
Python中优化NumPy包使用性能的教程
2015/04/23 Python
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
Django 路由控制的实现代码
2018/11/08 Python
DES加密解密算法之python实现版(图文并茂)
2018/12/06 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
Python下应用opencv 实现人脸检测功能
2019/10/24 Python
python如何支持并发方法详解
2020/07/25 Python
荷兰之家英文站:Holland at Home
2016/10/26 全球购物
入党积极分子思想汇报范文
2014/01/05 职场文书
药学职务聘任书
2014/03/29 职场文书
高考寄语大全
2014/04/08 职场文书
考试保密承诺书
2014/08/30 职场文书
教育项目合作协议书格式
2014/10/17 职场文书
2015领导干部廉洁自律工作总结
2015/07/23 职场文书
2016党员入党决心书
2015/09/22 职场文书
导游词之崇武古城
2019/10/07 职场文书
关于nginx 实现jira反向代理的问题
2021/09/25 Servers