图片


大家好,我是开源君。

今天给大家分享的是【随机数据生成器】

项目介绍

图片

    这是一款简单易用的随机数据生成器。一般用于开发和测试阶段的数据填充、模拟、仿真研究、演示等场景。可以集成到各种类型的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...

最后

照旧安利一波我们的公众号:【挖掘开源的价值

挖掘开源的价值

持续分享一些好玩,有趣,又沙雕的开源项目或者优质的开发工具实用的编程技巧,欢迎关注!

图片

历史推送:

图片

点赞,再看,转发呐!


写Bug的小杜
7 声望2 粉丝

一只向上爬的蜗牛🐌