java写文件

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

东西很简单,但用起来还是蛮爽的。

 

 

你可能感兴趣的:(java)