【Java实践】用java代码快速造顺番数据1到2000万行

【Java实践】用java代码快速造顺番数据1到2000万行。

[01] 开发说明
[02] 代码实现
[03] 参考出处

---------------------------------------------

[01] 开发说明

着手的项目在做性能测试,需要大量数据从1到2000w的顺番。
如果是用Excel的公式做的话1万条很简单,但是2000万条的话立马选择狗带了。
vb没学过也不会用,刚好学过java,可以试着写段代码。

【开发要求】:

出力txt文档格式,从1开始到2000万。16位数一行,且数字左侧补0。
0000000000000001
0000000000000002
0000000000000003
...
0000000019999999
0000000020000000

[02] 代码实现

以下两种方案。可供选择。

方案一:【控制台出力版】适合4000条以内的数据。

public class AutoAddNumber1 {      
  public static void main(String[] args) {      
    for(int i=1;i<=20000000;i++){
    	// 0  代表前面补充0
    	// 16 代表长度为16
    	// d  代表参数为正数型  
        String str = String.format("%016d",i);
        System.out.println(str);
    }
  }

问题:
1.当 i 大于5000时,控制台只生成最末尾的4000多条,数据失真。
2.只能出力到控制台,不如生成txt文件更合适。

方案二:【文件生成版】条数不受限制,自动生成文件。

import java.io.*;

public class AutoAddNumber2 {      
  public static void main(String[] args) throws IOException {      
    /*  出力结果写入并保存到test.txt  */
    FileWriter fw = new FileWriter("test.txt"); 

    /*  输出1到2000w行  */
     for(int i=1;i<=20000000;i++){
         String str = String.format("%016d",i);  
         /*  出力的数据需要改行的写法  */
         fw.write(str + "\r\n");
     }
        /*  关闭FileWrite流  */
        fw.close();
        /*  一切顺利控制台出力OK告诉我。可以不要...  */
        System.out.println("OK");
   }
 }

完美实现开发要求。
并且出力的2000万行数据txt文件,有340mb大小。

[03] 参考出处

1.【整理java中左侧补0的方法】
原文链接:https://blog.csdn.net/qq_37552993/article/details/76461664
借鉴java中左侧补0的方法。

2.【Java输入输出(IO、文件操作、大量实例)】
原文链接:https://blog.csdn.net/weixin_39778570/article/details/80552295
借鉴 [实验53:FileWriter类的应用] 编写一个java程序,将字符串写入到文件中

3.【java中io数据流 输出文本怎么转行】
原文链接:https://zhidao.baidu.com/question/124389859.html
借鉴 bw.write("\r\n"); 这行代码,实现将文本转行。

posted @ 2021-04-22 12:38  金城麻吉  阅读(334)  评论(0编辑  收藏  举报