如何生成vcf格式文件来匹配支付宝隐藏6位数字

1.java生成电话号代码

package com.example.demo.test001;

import org.springframework.web.bind.annotation.*;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

/**
 * @ClassName: myTestController
 * @Description:
 * @Author: dengfeng_hu
 * @Date: 2021/10/14 9:03
 * @Version: 1.0
 */

@RestController
@RequestMapping("/api/v2/myTest")
public class myTestController {
    public static String  last = "15";
    public int getNumber(String fileName){
        int number = 1;
        while(true){
            File file = new File("D://phoneNumber/" + fileName + number+".vcf");
            if(!file.exists()){
                break;
            }else{
                number++;
            }

        }
        return number;
    }
    @PostMapping(value="/Number",produces="application/json")
    public String  mySecondTest(@RequestBody List<String> mid, @RequestParam String fileName){
        int number = 1;
        try {
            number = getNumber(fileName);
            BufferedWriter out = new BufferedWriter(new FileWriter("D://phoneNumber/" + fileName + number+".vcf"));
            StringBuilder phoneNumber = new StringBuilder();
            System.out.println(mid.size());
            java.text.DecimalFormat df=new java.text.DecimalFormat();
            df.applyPattern("00");
            int count = 1;
            for(int i = 0 ;i<mid.size();i++){
                for(int j = 0;j<100;j++){
//                    phoneNumber = phoneNumber .append(pre).append(mid.get(i)).append(df.format(j)).append(last) ;
                    phoneNumber = phoneNumber .append(mid.get(i)).append(df.format(j)).append(last) ;
                    makeNumber(phoneNumber,out,count);
                    count = count+1;
                    phoneNumber.setLength(0);
                }
            }

            makeNumber(new StringBuilder("15804299051"),out,count + 1);
            out.close();
            System.out.println(String.format("文件创建成功!" +
                    new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) ));

        } catch (IOException e) {
        }
        return "文件名:"+fileName+" 文件创建成功!共" + mid.size() + "组 " +
                new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + "\n" +
                mid.toString()+"\n"+"这是第"+number+"个文件";
    }
    public void makeNumber(StringBuilder phoneNumber,BufferedWriter out,int j) throws IOException {

        out.write("BEGIN:VCARD" + "\r\n");
        out.write("VERSION:3.0" + "\r\n");
        out.write("FN;CHARSET=UTF-8:1" + "\r\n");
        out.write("N;CHARSET=UTF-8:;;"+j+";;" + "\r\n");
        out.write("TEL;TYPE=CELL:"+phoneNumber + "\r\n");
        out.write("END:VCARD" + "\r\n");
    }
}

2.使用方法用postman

使用方法

3.这是才用restful接口生成号码,或者直接读取文件也行

参考链接:https://zhuanlan.zhihu.com/p/429857217

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值