文档章节

java随机生成号码增强版

不最醉不龟归
 不最醉不龟归
发布于 2017/08/31 18:43
字数 717
阅读 23
收藏 2
点赞 0
评论 2

本文永久地址: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

 

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

 

 

© 著作权归作者所有

共有 人打赏支持
不最醉不龟归
粉丝 11
博文 262
码字总数 435067
作品 0
深圳
程序员
加载中

评论(2)

不最醉不龟归
不最醉不龟归

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

变态的需求��������
自己用而已:grin:
断崖逐梦
断崖逐梦
变态的需求��������
Sharding-JDBC — 读写分离(spring boot)

我们的项目,很多都涉及到了数据库的操作。数据库的稳定性显得尤为重要。互联网公司很多都采用“一主多从”的实现方案,我这里也不例外。这样可以大大减少主库的读压力,从而提高数据库性能!...

小王穷遊 ⋅ 05/25 ⋅ 0

Java 5 、6、 7中新特性

JDK5新特性(与1.4相比)【转】 1 循环 for (type variable : array){ body} for (type variable : arrayList){body} 而1.4必须是: for (int i = 0; i < array.length; i++){ type variabl......

thinkyoung ⋅ 2014/10/14 ⋅ 0

谈谈字节码增强(一)之java动态代理

最近看到很多人在分享动态代理的实现,想到上次在公司分享过一次字节码增强方面的技术,这里随便写写,做个总结。 什么叫做字节码增强技术? 个人理解,是在Java字节码生成之后,运行期对其进...

一滴水的坚持 ⋅ 06/08 ⋅ 0

Python和Java的硬盘夜话

点击上方“程序员小灰”,选择“置顶公众号” 有趣有内涵的文章第一时间送达! 本文转载自公众号 码农翻身 这是一个程序员的电脑硬盘,在一个叫做“学习”的目录下曾经生活着两个小程序,一个...

bjweimengshu ⋅ 05/16 ⋅ 0

sharding-jdbc分库分表规则(1)-单表查询

前言 当数据量到达一定数量级的时候,一般都会考虑分库分表。sharding-jdbc是一个开源的客户端分库分表基础类库,以一个jar包的形式提供,基于原生的JDBC驱动进行增强,基本能够无缝整合旧代...

xiaomin0322 ⋅ 06/07 ⋅ 0

Java学习---Java简单认识

前言 小编在学习Java方面的基础知识,发现里面有很多是结合之前的语言的特点发展过来的,不同的地方是,Java有它自己的发展和特点。下面小编先简单地做一下总结,结合看过的1-2章的J2SE视频,...

m18633778874 ⋅ 04/01 ⋅ 0

Java程序员必读书单,家族又添新成员

点击关注异步图书,置顶公众号 每天与你分享IT好书 技术干货 职场知识 参与文末话题讨论,每日赠送异步图书。 ——异步小编 有些革命出其不意地吸引了全世界的眼球。Twitter、Linux操作系统和...

异步社区 ⋅ 05/09 ⋅ 0

Java开发学习之三版本简介 java编程

  Java编程语言,在更迭迅速的互联网领域多年屹立不倒,足以得见Java这门语言旺盛的生命力,因此,会有很多想要进入互联网领域的朋友,想要学Java来转行开发。但是,所谓“隔行如隔山”,j...

老男孩Linux培训 ⋅ 06/05 ⋅ 0

Java虚拟机标准(第10版)第一章(节选)翻译与评注

英文原文链接:https://docs.oracle.com/javase/specs/jvms/se10/html/jvms-1.html 评注是括在鱼尾号之间的文字,其余均为翻译 Java虚拟机是Java平台的基石,这种技术实现了诸如跨平台、生成...

Jelif ⋅ 06/03 ⋅ 0

java编程语言知识要点学习java基础英语单词表

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互...

Java小辰 ⋅ 05/19 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主...

河图再现 ⋅ 58分钟前 ⋅ 0

docker安装snmp rrdtool环境

以Ubuntu16:04作为基础版本 docker pull ubuntu:16.04 启动一个容器 docker run -d -i -t --name flow_mete ubuntu:16.04 bash 进入容器 docker exec -it flow_mete bash cd ~ 安装基本软件 ......

messud4312 ⋅ 今天 ⋅ 0

OSChina 周一乱弹 —— 快别开心了,你还没有女友呢。

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享吴彤的单曲《好春光》 《好春光》- 吴彤 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :小萝莉街上乱跑,误把我认错成...

小小编辑 ⋅ 今天 ⋅ 7

mysql in action / alter table

change character set ALTER SCHEMA `employees` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci ;ALTER TABLE `employees`.`t2` CHARACTER SET = utf8mb4 , COLLAT......

qwfys ⋅ 今天 ⋅ 0

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用...

jason_kiss ⋅ 昨天 ⋅ 0

Linux下php访问远程ms sqlserver

1、安装freetds(略,安装在/opt/local/freetds 下) 2、cd /path/to/php-5.6.36/ 进入PHP源码目录 3、cd ext/mssql进入MSSQL模块源码目录 4、/opt/php/bin/phpize生成编译配置文件 5、 . ./...

wangxuwei ⋅ 昨天 ⋅ 0

如何成为技术专家

文章来源于 -- 时间的朋友 拥有良好的心态。首先要有空杯心态,用欣赏的眼光发现并学习别人的长处,包括但不限于工具的使用,工作方法,解决问题以及规划未来的能力等。向别人学习的同时要注...

长安一梦 ⋅ 昨天 ⋅ 0

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令...

刘祖鹏 ⋅ 昨天 ⋅ 0

MySQL

查看表相关命令 - 查看表结构    desc 表名- 查看生成表的SQL    show create table 表名- 查看索引    show index from  表名 使用索引和不使用索引 由于索引是专门用于加...

stars永恒 ⋅ 昨天 ⋅ 0

easyui学习笔记

EasyUI常用控件禁用方法 combobox $("#id").combobox({ disabled: true }); ----- $("#id").combobox({ disabled: false}); validatebox $("#id").attr("readonly", true); ----- $("#id").r......

miaojiangmin ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部