zoukankan      html  css  js  c++  java
  • 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什么样的数据格式。

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

     

  • 相关阅读:
    mysql 视图使用
    mysql 5.7 Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ...报错
    mysql创建数据库指定字符集和校对规则
    grep 命令使用
    awk 命令使用
    if [ $# -ne 1 ] 作用
    shell 获取当前目录下的jar文件
    jar 命令使用
    unzip 命令指定解压路径
    Win10系列:JavaScript写入和读取文件
  • 原文地址:https://www.cnblogs.com/daojiao/p/4597577.html
Copyright © 2011-2022 走看看