java随机生成号码增强版
java随机生成号码增强版
不最醉不龟归 发表于5个月前
java随机生成号码增强版
  • 发表于 5个月前
  • 阅读 18
  • 收藏 1
  • 点赞 0
  • 评论 2

标题:腾讯云 新注册用户域名抢购1元起>>>   

本文永久地址:https://my.oschina.net/bysu/blog/1527148

前阵子写了一篇博客,主要就是随机生成手机号码。随着工作上的使用,对之前的生成进行优化与改进,于是便有了下文。

先把效果贴出来吧~

获取本地记录文件行数相关类

GetSourceFileLineNo.java

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class GetSourceFileLineNo{

    public static void main(String[] args) {
		getLimitRecord("./result.txt");
    }
	
	public static void getLimitRecord(String filePath){
		BufferedReader br = null;
		String tempStr = "";
		int count = 0;
		int allLineOfFile = getSourceFileLineNo(filePath);
		try{
			br = new BufferedReader(new FileReader(new File(filePath)));
			while((tempStr=br.readLine())!=null){
				if((allLineOfFile - count++)<=10){
					System.out.println(tempStr);
				}
			}
		}catch(IOException e){
			System.out.println("没有该文件或目录");
			e.printStackTrace();
		}finally{
			try{
				br.close();
			}catch(IOException e){
				System.out.println("关闭以前关闭的流无效~!");
				e.printStackTrace();
			}
		}
	}
	
	//Gets all lines of file
	public static int getSourceFileLineNo(String filePath){
		BufferedReader br = null ;
		String tempStr = "";
			int count = 0;
		try{
			br = new BufferedReader(new FileReader(new File(filePath)));
			while((tempStr=br.readLine())!=null){
				count ++;
			}
		}catch(IOException fnf){
			System.out.println("没有该文件或目录");
			fnf.printStackTrace();
			
		}finally{
			try{
				br.close();
			}catch(IOException e){
				System.out.println("关闭以前关闭的流无效~!");
				e.printStackTrace();
			}
		}
		return count;
	}
}

 

结果写入本地类

WriteResultToTxt.java

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

public class WriteResultToTxt{
	public static void writeResult(String textContent){
		String resultText = textContent;
		try{
			BufferedWriter bw = new BufferedWriter(new FileWriter(new File(".\\result.txt"),true));
			bw.write(resultText,0,resultText.length());
			bw.newLine();
			bw.close();
			
		}catch(IOException e){
			
		}
		
	}
	
	public static String getSystemTime(){
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:MM:SS");//设置日期格式
		String systemTime = df.format(new Date());// new Date()为获取当前系统时间
		return systemTime;
	}
}

随机生成手机号类

MobileRandomNum.java

import java.util.ArrayList;
import java.util.Random;

public class MobileRandomNum {
	static String channelName = "";
    	
	//随机生成手机号码前3位
    public static int startMobileNo(){
        int[] mobileStart = {139,138,137,136,135,134,159,158,157,150,151,152,188,130,131,132,156,155,133,153,189,180,177,176};
        Random r = new Random();
        ArrayList<Integer> mobileList = new ArrayList<>();
        for(int i = 0;i<mobileStart.length;i++){
            mobileList.add(mobileStart[i]);
        }
        return mobileList.get(r.nextInt(mobileList.size()));
    }
    
	//随机生成手机号码后8位
    public static String endMobileNo(){
        Random r = new Random();
        String temp = "";
        for(int i=0;i<8;i++){
			if(i==4){
				temp += "-";
			}
            temp += r.nextInt(10);
        }
        return temp;
    }
	
}

选择渠道类

ChooseChannel.java

import java.util.regex.Pattern;
import java.util.regex.Matcher;
import java.util.Scanner;

public class ChooseChannel{
	public static String channelName(){
		//System.out.println("请输入渠道:1.蚂蚁开户;2.常规开户;3.保单开户;4.融资融券预开户...");
		Scanner scan = new Scanner(System.in);
		String is_result = String.valueOf(scan.nextInt());
		switch(is_result){
			case "1":
			is_result = "蚂蚁开户";
			break;
			case "2":
			is_result = "常规开户";
			break;
			case "3":
			is_result = "保单开户";
			break;
			case "4":
			is_result = "融资融券预开户";
			break;
			default:
			is_result = "其他";
			System.out.println("是否需要备注:\"Y\" or \"N\"?");
			Scanner scanOther = new Scanner(System.in);
			String temp_result = scanOther.nextLine();
			if(temp_result.equalsIgnoreCase("Y")){
				System.out.println("请输入备注,并回车");
				is_result = scanOther.nextLine();
			}
		}
		return is_result;
	}
	
	//在console输出选项内容,如果选的是5,且需要备注,那么就不再次输出
	public static String consolePrint(String channelName){
		String result = channelName;
		Pattern p = Pattern.compile(".+开户");
		Matcher m = p.matcher(result);
		
		if(m.matches() || result.equals("其他")){
			return result;
		}else return "";
	}
}

 

最后的批处理文件.bat

@echo off
echo "最近的历史记录~:"
javac -encoding utf8 .\GetSourceFileLineNo.java
for /f "delims=" %%i in ('java GetSourceFileLineNo') do (
    echo %%i
)

:1
echo "请输入渠道:1.蚂蚁开户;2.常规开户;3.保单开户;4.融资融券预开户;5.其他..."
javac -encoding utf8 .\TestGeneratorNumber.java
java TestGeneratorNumber

pause
goto 1

 

注意:文件都放在同一个文件夹,然后运行批处理就可以了。

 

 

共有 人打赏支持
粉丝 10
博文 248
码字总数 200816
评论 (2)
断崖逐梦
变态的需求��������
不最醉不龟归

引用来自“断崖逐梦”的评论

变态的需求��������
自己用而已:grin:
×
不最醉不龟归
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: