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();
}

}

猜你喜欢

转载自blog.csdn.net/qq_42763499/article/details/82256344
今日推荐