大家好,我是开源君。
今天给大家分享的是【随机数据生成器】
项目介绍
这是一款简单易用的随机数据生成器。一般用于开发和测试阶段的数据填充、模拟、仿真研究、演示等场景。可以集成到各种类型的java项目中使用。
优点
- 非常轻量级(不到1M),容易集成,无需过多第三方依赖
- 简单方便,无需编写冗余代码
- 生成的随机数据比较接近真实数据
快速开始
<dependency>
<groupId>com.apifan.common</groupId>
<artifactId>common-random</artifactId>
<version>1.0.7</version>
</dependency>
随机数字
//生成1个1~101(不含)之间的随机整数
int a = NumberSource.getInstance().randomInt(1, 101);
//生成8个1~101(不含)之间的随机整数
int[] b = NumberSource.getInstance().randomInt(1, 101, 8);
//生成1个10000000000~20000000001(不含)之间的随机长整数
long c = NumberSource.getInstance().randomLong(10000000000L, 20000000001L);
随机汉字
//生成1个随机汉字
String i = OtherSource.getInstance().randomChinese();
//生成4个随机汉字
String j = OtherSource.getInstance().randomChinese(4);
随机中文名
//生成1个随机中文人名(性别随机)
String k = PersonInfoSource.getInstance().randomChineseName();
//生成1个随机男性中文人名
String k2 = PersonInfoSource.getInstance().randomMaleChineseName();
//生成1个随机女性中文人名
String k3 = PersonInfoSource.getInstance().randomFemaleChineseName();
英文名
//生成1个随机英文人名
String l = PersonInfoSource.getInstance().randomEnglishName();
生成姓名头像
- 该功能可以根据用户姓名快速生成各类网站、app的用户头像
- 背景颜色随机,数据源取自最近十几年来广受欢迎的颜色,详情参见: Colors of the Year
- 支持使用自定义TTF字体,但是需要使用者自行保证字体版权合法以避免纠纷
- 该功能不支持在Android运行环境中使用(因为缺少awt)
//姓名
String name = PersonInfoSource.getInstance().randomChineseName();
//头像文件保存路径
String targetPath = "/home/user/picture/" + name + ".png;
//使用默认的Dialog字体
PersonInfoSource.getInstance().generateNamePicture(name, targetPath);
//使用自定义的字体
String font = "/home/user/font/SourceHanSansCN-Normal.ttf";
PersonInfoSource.getInstance().generateNamePicture(name, targetPath, font);
随机生成符合规则的虚拟身份证号码
//生成1个随机的虚拟身份证号码,地区为河北省,女性,出生日期在2001年1月11日至2008年2月22日之间
LocalDate beginDate2 = LocalDate.of(2001,1,11);
LocalDate endDate2 = LocalDate.of(2008,2,22);
String id2 = PersonInfoSource.getInstance().randomFemaleIdCard("河北省", beginDate2, endDate2);
随机车牌号
//生成1个随机中国大陆车牌号(新能源车型)
String n1 = OtherSource.getInstance().randomPlateNumber(true);
//生成1个随机中国大陆车牌号(非新能源车型)
String n2 = OtherSource.getInstance().randomPlateNumber();
随机地址
//随机获取省份
String prv = AreaSource.getInstance().randomProvince();
//随机获取城市(省份+城市,以逗号为分隔符)
String city = AreaSource.getInstance().randomCity(",");
//随机获取邮编
String zipCode = AreaSource.getInstance().randomZipCode();
//生成1个随机中国大陆详细地址
String addr = AreaSource.getInstance().randomAddress();
随机教育信息
//随机获取学历
String degree = EducationSource.getInstance().randomDegree();
//随机获取本科高校名称
String college = EducationSource.getInstance().randomCollege();
//随机获取小学名称
String primarySchoolName = EducationSource.getInstance().randomPrimarySchoolName();
//随机获取小学年级
String primarySchoolGrade = EducationSource.getInstance().randomPrimarySchoolGrade();
//随机获取中学名称
String highSchoolName = EducationSource.getInstance().randomHighSchoolName();
//随机获取中学年级
String highSchoolGrade = EducationSource.getInstance().randomHighSchoolGrade();
//随机班级名称
String className = EducationSource.getInstance().randomClassName();
支持的随机类型比较多,这里就不一一列出了。主要包括但不限于以下领域。
日期时间
- 地理
- 互联网
- 个人信息
- 教育
- 金融
- 体育
- 其他
注意事项
- 随机数据由程序随机生成,不存在真实性,但有可能与真实数据雷同(纯属巧合)。
- 程序中使用了小部分真实数据(包括但不限于:行政区划名称、邮编、区号、高校名称、股票代码及名称等)作为基础数据源,全部来自于各个合法运营的网站上的可公开访问的网页;其中涉及的著作权或商标的所有权属于各自合法的拥有者。
项目地址
https://www.github.com/shaoxi...
最后
照旧安利一波我们的公众号:【挖掘开源的价值】
持续分享一些好玩,有趣,又沙雕的开源项目或者优质的开发工具,实用的编程技巧,欢迎关注!
历史推送:
点赞,再看,转发呐!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。