您的位置:首页 > 编程语言 > Java开发

java写文件

2015-06-24 14:13 330 查看
今天在测试数据库语法时,可能需要大量数据,但手头有没有这样的数据,于是想起了之前学过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什么样的数据格式。

东西很简单,但用起来还是蛮爽的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: