java语言自主编程模拟数据文件

数据格式样本为:
2018-08-242 19:08:320,15219835179,重庆,小米,http://www.jd.com.htm
在本数据中包含:
时间;
电话;
地点;
手机品牌;
网址;

(1)首先实现输出时间:
在java中用Date方法可以输出当前时间
Date date=new Date();
System.out.println(date);

Fri Aug 31 09:01:43 CST 2018

但在数据中时间格式为2018-08-242 19:08:320 所以我们要更改时间的输出格式
这需要使用SimpleDateFormat 类的format方法

SimpleDateFormat sdf=new SimpleDateFormat(“YYYY-MM-DD HH:MM:SS”)
“YYYY-MM-DD HH:MM:SS”是对Fri Aug 31 09:01:43 CST 2018设置的新格式
即2018-08-242 19:08:320类型;
代码为
sdf.format(new date(System.currentTimeMillis()))
System.currentTimeMillis()是当前时间;

由于我们要频繁的对存储文件进行增减的操作故我们将字符串存储于StringBuffer类中,

所以要创建一个StringBuffer类的实例

StringBuffer sb=new StringBuffer();

现在就要对实例sb添加字符串;而StringBuffer类中添加字符串的方法append()

基于前面的格式,我们还要定义几个数组,分别存储地点citys,手机品牌phone,电话call,网址web等数据;

String[] call= {“136”,”138”,”156”,”188”,”152”,”139”};
String[] citys= {“哈尔滨”,”北京”,”北京”,”上海”,”广州”,”深圳”,”重庆”,”长春”,”沈阳”,”大连”};
String[] phone= {“苹果”,”华为”,”vivo”,”小米”,”苹果”,”华为”,”oppo”,”三星”,”小米”,”nokia”};
String[] web= {“http://www.taobao.com“,”http://www.jd.com“,”http://www.vip.com“};

为了凸显数据的随机性,我们要使用Random类(要导util包);

Random r=new Random();

在准备工作完成后我们就要创建一个新的txt文件

PrintWriter out=new PrintWriter(“e://log.txt”);

接下来就是向sb中添加数据;

因为我们所模拟的数据文件很大;且每行数据格式一样所以我们采用for循环;

for(int i=0;i<10000;i++){
StringBuffer sb=new StringBuffer();
sb.append(sdf.format(new Date(System.currentTimeMillis()))).append(“,”);
sb.append(call[r.nextInt(call.length)]);
//内循环是为了添加手机号码的后八位
for(int j=0;j<8;j++) {
sb.append(r.nextInt(10));
}
sb.append(“,”);
sb.append(citys[r.nextInt(citys.length)]).append(“,”);
sb.append(phone[r.nextInt(phone.length)]).append(“,”);
sb.append(web[r.nextInt(web.length)]).append(“.htm”);
out.println(sb);
}

//由于前面使用了PrintWriter 所以在程序执行完后我们要关闭流
out.close();

为方便读者深入了解代码结构;完整代码若下
package practice0828;

import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.*;
public class Test1 {
public static void main(String[] args) throws Exception {
Random r=new Random();
String[] call= {“136”,”138”,”156”,”188”,”152”,”139”};
String[] citys= {“哈尔滨”,”北京”,”北京”,”上海”,”广州”,”深圳”,”重庆”,”长春”,”沈阳”,”大连”};
String[] phone= {“苹果”,”华为”,”vivo”,”小米”,”苹果”,”华为”,”oppo”,”三星”,”小米”,”nokia”};
String[] web= {“http://www.taobao.com“,”http://www.jd.com“,”http://www.vip.com“};
PrintWriter out=new PrintWriter(“e://log.txt”);
SimpleDateFormat sdf=new SimpleDateFormat(“YYYY-MM-DD HH:MM:SS”);
for(int i=0;i<100;i++) {
StringBuffer sb=new StringBuffer();
sb.append(sdf.format(new Date(System.currentTimeMillis()))).append(“,”);
sb.append(call[r.nextInt(call.length)]);
for(int j=0;j<8;j++) {
sb.append(r.nextInt(10));
}
sb.append(“,”);
sb.append(citys[r.nextInt(citys.length)]).append(“,”);
sb.append(phone[r.nextInt(phone.length)]).append(“,”);
sb.append(web[r.nextInt(web.length)]).append(“.htm”);
out.println(sb);
}
out.close();
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jmockdata(再也不用苦逼的造测试数据了) Jmockdta是一款实现模拟JAVA类型或对象的实例化并随机初始化对象的数据的工具框架。单元测试的利器。     The plug-in of Jmockdata what through random algorithm mock java data.   Jmockdata插件通过随机算法模拟Java数据.   版本信息 Jmockdata-2.0 发布时间 2017-02-03 Jmockdata-1.0 发布时间 2017-01-04 具体介绍和用法可以参考如下:   0. 模拟数据入口方法 JMockData.mock(JmockDataWrapper) 1. 被模拟数据必须继承JmockDataWrapper经过它的包装 2. 被模拟数据最好是plain bean,只提供getter,setter,has,is方法的才可以被模拟 3. 框架默认实现了40个元数据类型的数据模拟器包括:   byte.class,Byte.class,byte[].class,Byte[].class, short.class,Short.class,short[].class,Short[].class, int.class,Integer.class,int[].class,Integer[].class, long.class,Long.class,long[].class,Long[].class, float.class,Float.class,float[].class,Float[].class, double.class,Double.class,double[].class,Double[].class, boolean.class,Boolean.class,boolean[].class,Boolean[].class, char.class,Character.class,char[].class,Character[].class, String.class,String[].class, BigDecimal.class,BigDecimal[].class, BigInteger.class,BigInteger[].class, Date.class,Date[].class 通过对以上基本元数据类型的模拟实现,本框架可以轻松模拟由以上元数据结构组成的BEAN、LIST、SET、ARRAY等复杂深度的数据结构的数据模拟。   4. 可以通过JmockDataContext 获取模拟过程的所有上下文信息,甚至可以打印整个模拟类型树   5. 可以通过JMockDataManager 注册模拟数据类型,重写模拟数据算法,注册模拟数据类拦截器等 6. 可以通过实现MockData来实现一个模拟数据类型 7. 可以通过实现JmockDataTemplate,或者继承JmockDataTemplateDefault来重写模拟数据算法 8. 可以通过实现JmockDataInterceptor来实现一个拦截器 9. 具体示例实践请参考https://github.com/jsonzou/jmockdata-demo 10. 有问题或者对本框架有新的想法,请联系我, 作者:jsonzou 标签:Jmockdata

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值