java创建好几层的txt文件,JAVA 生成多个TXT文件并为每个文件循环写入不同内容

在一次测试中需要800个文件,每个文件需要500条记录,一共测试40W条记录,每条记录呢只有一个不同的地方,手动就太浪费时间,就想着能不能用Java 来完成这个事情,在网上找了几个版本都没有完全达到要求,只有自己稍微修改一下了,最后还是达到要求。想着在这里留个记录,方便使用。具体代码如下:

package test;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileWriter;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

public class test2 {

static String fname;

static String ename;

static String writestring;

static String writestr="02|854|TEST|20210315NUM00003";//文件内容

static String writestr2="1|TEST|FILE||CONSENT01";//文件内容

public static void main(String[] args) throws IOException {

ename="txt";

fname="20210315_TEST001_NUM";

List namelist;

namelist=getfilelistname();

for (int j = 0; j < namelist.size(); j++) {

String name=namelist.get(j);

File file=new File(name);

file.createNewFile();

List strlist=getWriteStrlist(j);

writesome(file,strlist);

System.out.println(name);

}

}

public static List getfilelistname(){ //生成file name list

List filelistname;

filelistname=new ArrayList();

String filename;

for (int i = 1; i <=800; i++) {

filename=fname+i+"_T"+"."+ename;//因为文件名要求必须_T 结尾,所以在这里单独加上结尾

filelistname.add(filename);

}

return filelistname;

}

public static List getWriteStrlist(int j){ //为每个file 生成不同的 content

List writelistname;

writelistname=new ArrayList();

String writeStr;

for (int i = 1; i <=502; i++) {

if(i==1){

writeStr="01|20210315|TEST"+"\r\n"; //第一行内容

}else if(i==502){

writeStr="03|500|"; //最后一行内容

}

else{

writeStr=writestr+(j+1)+(i-1)+writestr2+"\r\n";

}

writelistname.add(writeStr);

}

return writelistname;

}

public static void writesome(File file,List strlist){

try {

FileWriter fileWriter=new FileWriter(file,true);//循环写入内容

for (int i = 0; i < strlist.size(); i++) {

String str=strlist.get(i);

fileWriter.write(str);

}

fileWriter.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

}

标签:文件,JAVA,String,java,List,static,file,import,TXT

来源: https://www.cnblogs.com/ab777/p/14536778.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值