今天在测试数据库语法时,可能需要大量数据,但手头有没有这样的数据,于是想起了之前学过java语言,动手通过程序创建一个数据文件。
程序不是太复杂,但是也要两三年没碰java了,几乎遗忘的差不多了,动手网上找了些资料:
package com.data; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Random; public class ProduceData { public static void main(String[] args) throws IOException { // 获取要写入文件 File file = new File("D:\\Data\\member_delta.txt"); // 文件不存在首先创建文件 if (!file.exists()) { file.createNewFile(); } // 以下是两种写入文件的类,FileOutPutStream的方法太单调,还是第二种BufferedWrite方法多些 FileOutputStream out = new FileOutputStream(file, true); BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); // random 生产随机数 Random random = new Random(); // 获取当前日前 Date date = new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(date); // 循环写入数据 for (int i = 0; i < 10; i++) { // 在原有的日期上多加一天 cal.add(Calendar.DATE, +1); Integer o = i; // 拼接字符串 StringBuffer sb = new StringBuffer(); Integer j = random.nextInt(291) + 100; Integer m = random.nextInt(291) + 100; if (o.toString().indexOf("8") != 0) { sb.append("000" + j.toString() + " " + m.toString() + " I " + (new SimpleDateFormat("yyyy-MM-dd")).format(cal .getTime())); } else if (o.toString().indexOf("5") != 0) { sb.append("000" + j.toString() + " " + m.toString() + " U " + (new SimpleDateFormat("yyyy-MM-dd")).format(cal .getTime())); } else { sb.append("000" + j.toString() + " " + m.toString() + " D " + (new SimpleDateFormat("yyyy-MM-dd")).format(cal .getTime())); } // 两种文件类的写入方法 // BufferedWrite类添加数据是累加的,第二次添加数据会保留第一次添加的数据FileOutPutStream类会覆盖之前写入的数据。 // out.write(sb.toString().getBytes("UTF-8")); bw.write(sb.toString()); // 文件中添加数据换行 bw.newLine(); } out.close(); bw.close(); System.out.println("write data Ok"); } }
中间的BufferString ,根据自己的需求改变append什么样的数据格式。
东西很简单,但用起来还是蛮爽的。