【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"); 这行代码,实现将文本转行。