`
黑色牧马
  • 浏览: 10398 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

按规则生产txt文本

 
阅读更多
//生成保险公司数据
public static void main(String[] args){
int length = 900;
Random rd = new Random();
String[] xing = new String[] { "张", "李", "王", "赵", "秦", "孙", "刘", "郭", "周", "罗", "胡", "邓", "马", "杨", "陈", "曹", "石", "肖", "吴", "曾", "丘", "崔"};
        String[] ming = new String[] { "磊", "凤", "成", "芬", "华", "芳", "艳", "丽", "奇", "红", "才", "涛", "强", "尚峰", "德友", "学文", "淑贞", "圆圆", "伊利", "天祥", "伯通", "黛玉", "元兵", "玉秋", "雪华", "无忌", "三峰"};
String carNums = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String result = "";
for (int i = 0; i < length; i++) {
String payerName = xing[rd.nextInt(xing.length - 1)] + ming[rd.nextInt(ming.length - 1)] + ",";
String orgCode = ",";

String certYear = (rd.nextInt(25) + 70) + "";
String certMonth = formatStr(rd.nextInt(12)+1, 2);
String certDay = formatStr(rd.nextInt(rd.nextInt(28)+1), 2);
String _certNum = "36242719" + certYear + certMonth + certDay + formatStr(rd.nextInt(999)+1, 3);
int[] xishu = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
String[] weishu = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"};
char[] certNums = _certNum.toCharArray();
int sum = 0;
for (int j = 0; j < certNums.length; j++) {
sum += certNums[j] * xishu[j];
}
_certNum += weishu[(sum % 11)];
String certNum = _certNum + ",";

char ch1 = carNums.charAt( rd.nextInt(carNums.length() - 1));
char ch2 = carNums.charAt( rd.nextInt(carNums.length() - 1));
String _carNum = "" + ch1 + ch2 + formatStr(rd.nextInt(1000), 3);
String Num = "0A" + _carNum + ",";
String engineNum = "E" + formatStr(rd.nextInt(10000000), 7) + "0000006" + _carNum + ",";
String frameNum = "F" + formatStr(rd.nextInt(10000000), 7) + "0006" + _carNum + ",";
String carType = "0" + (rd.nextInt(3)+1);

String passPeocount = ",";
if(carType.equals("03")){
passPeocount = (rd.nextInt(6)+4) + ",";
}else if(carType.equals("02")){
passPeocount = (rd.nextInt(10)+10) + ",";
}else if(carType.equals("01")){
passPeocount = (rd.nextInt(19)+20) + ",";
}

String emptyMass = ",";
String totalMass = ",";
String passMass = ",";

String displacement = ",";
if(carType.equals("03")){
displacement = ((rd.nextInt(14)+11)/10F) + ",";
}else{
displacement = ",";
}

String useNature = "01,";

int year = rd.nextInt(5) + 2006;
int month = rd.nextInt(12)+1;
int day = rd.nextInt(rd.nextInt(28)+1);
String gainDate = year + "-" + formatStr(month, 2) + "-" + formatStr(day, 2) + ",";

String useName = payerName;
String userPhoneTel = ",";
String address = ",";

float _amount = 0;
if(carType.equals("03")){
_amount = 420;
}else if(carType.equals("02")){
_amount = 480;
}else if(carType.equals("01")){
_amount = 600;
}
String amount = (int)_amount + ",";

String lastYearAmount = ",";
if(rd.nextInt(2) == 1){
float[] lastYearAmounts = {1,2,3,2,1,4,2,3,2,1,3,2,2,2,2,1,2,3,2,2,2,2,1,2,1,2,2,2,3,1,3};
if(carType.equals("03")){
lastYearAmount = (int)(420 * lastYearAmounts[rd.nextInt(lastYearAmounts.length - 1)]) + ",";
}else if(carType.equals("02")){
lastYearAmount = (int)(480 * lastYearAmounts[rd.nextInt(lastYearAmounts.length - 1)]) + ",";
}else if(carType.equals("01")){
lastYearAmount = (int)(600 * lastYearAmounts[rd.nextInt(lastYearAmounts.length - 1)]) + ",";
}
}

String derateAmount = ",";

String latefeeAmount = ",";
if(!",".equals(lastYearAmount)){
latefeeAmount = (rd.nextInt(80) + 30) + ",";
}

String insuranceNum = "440120110101"+ formatStr(rd.nextInt(10), 7) +",";
String signDate = "2011-01-01";

carType += ",";

String row = payerName + orgCode + certNum + carNum + engineNum + frameNum
   + carType + passPeocount + emptyMass + totalMass + passMass + displacement
   + useNature + gainDate + useName + userPhoneTel + address
   + amount + lastYearAmount + derateAmount + latefeeAmount + "\r\n";
result += row;
if(i % 8 == 0 && i != 0){
result += "\r\n";
}
}
writeFile(new File("d:\\文本"), result, "UTF-8");
System.out.println("生成完成!");
}

private static String formatStr(int num, int len)
    {
        String str = num+"";
        len = len - str.length();
        for (int i = 0; i < len; i++){
            str = "0" + str;
        }
        return str;
    }

/**
* 将字符串写入指定文件
* @param file 文件
* @param str 要写入的字符串
* @param encoding 编码
* @return boolean
*/
public static boolean writeFile(File file, String str, String encoding) {
FileOutputStream fos = null;
OutputStreamWriter osw = null;
BufferedWriter bw = null;
try {
fos = new FileOutputStream(file);
osw = new OutputStreamWriter(fos, encoding);
bw = new BufferedWriter(osw);
bw.write(str);
bw.flush();
return true;
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(bw != null){ bw.close(); }
if(osw != null){ osw.close(); }
if(fos != null){ fos.close(); }
} catch (IOException e) {
e.printStackTrace();
}
}
return false;
}
分享到:
评论

相关推荐

    文本替换大师

    例如,如果你需要在一个目录下的所有TXT文件中更改某一词汇,只需设置好查找和替换的规则,"文本替换大师"就会遍历指定目录,对每个文件进行替换操作,极大地提高了工作效率。 此外,考虑到易用性和用户体验,"文本...

    火山PCTXT文本编辑器源码

    高级编辑器还可能包含语法高亮、自动完成、多文档标签页、宏录制等功能,以提高程序员和其他用户的生产力。 在"火山PCTXT"这个特定的编辑器中,我们可以期待看到以下关键组件和概念: 1. 用户界面:源码会包含负责...

    文本批量替换工具

    文本批量替换工具是一种高效、快速...总之,批量文本替换工具是日常工作中不可或缺的辅助工具,尤其对于处理大量文本数据的场景,它能显著减少工作量,提高生产力。合理使用这类工具,可以使我们的工作更加高效、精准。

    txt文件合并 批量改名

    在日常工作中,我们可能会遇到多个小型的TXT文本文件,需要将它们整合成一个大的文件,以便于阅读、分析或存储。这通常可以通过编写简单的脚本或者使用专用工具来完成。文本文件合并器2.0.exe可能就是这样一款工具,...

    一键批量替换文本工具

    2. **多种文件类型支持**:优质的批量替换工具会支持各种常见的文本文件格式,如.txt、.docx、.xlsx、.pdf等,甚至包括源代码文件(如.java、.py、.cpp)。 3. **自定义查找和替换规则**:用户可以设置查找和替换的...

    TxtAdSetup,txt广告插入工具

    对于处理大量TXT文件的用户来说,这无疑是一个节省时间、提高生产力的利器。 然而,值得注意的是,尽管"TxtAdSetup"在提高效率方面表现出色,但在使用过程中也需注意数据安全。确保从可靠来源获取软件,并定期更新...

    SText批量文本替换器v1.1

    2. **文件类型选择**:用户可以选择处理特定类型的文本文件,例如只处理`.txt`、`.java`或`.csv`等,这样可以确保替换操作仅针对所需文件格式,避免误操作。 3. **目录选择**:用户可以指定一个目录,SText批量文本...

    Laravel开发-laravel-robotstxt

    `robots.txt`文件是一个简单的文本文件,它告诉网络爬虫(如Googlebot)哪些页面可以抓取,哪些应该避免抓取。这对于SEO(搜索引擎优化)和网站管理至关重要。 在Laravel项目中,我们通常会为生产环境和开发环境...

    文本替换工具,特好用的工具

    它通过设定查找和替换的规则,可以一次性完成大量文本的修改,无论是简单的字符替换,还是复杂的正则表达式匹配,都能够轻松应对。 在描述中提到的“批量修改文字”,这是文本替换工具的关键特性之一。批量操作意味...

    SAP-流程订单-MTO SAP -最佳业务实践,关于按订单生产流程订单的业务情景、操作手册、后台配置等详细说明

    `新建 文本1文档.txt` 没有提供具体的文件名,可能包含额外的信息或说明,如注意事项、术语定义或附加的业务规则。 总的来说,这个压缩包提供了一套完整的SAP MTO生产流程的资料,包括理论知识、实际操作指南和后台...

    GBT 1.1-2000 标准化工作导则 第1部分标准的结构和编写规则

    而"foodmate.net.txt"可能是一份与食品相关的参考资料,尽管与标题直接关联性不大,但可能在食品行业的标准编写中有所应用。 总之,GB/T 1.1-2000是制定和理解各类标准的基础,对于任何涉及标准编制的行业,尤其是...

    文本字符查找替换软件.

    文本字符查找替换软件是IT行业中一个非常实用的工具,尤其对于需要处理大量文本内容的用户来说,它能显著提升工作效率。...对于经常需要处理文本内容的用户来说,掌握这类软件的使用技巧,无疑会大大提高生产力。

    文字提取工具

    1. **快速导入**:支持各种常见的文本格式,如.doc、.txt、.pdf等,方便用户快速导入需要处理的文件。 2. **批量处理**:对于大量文档的处理,该工具可能具备批量提取功能,一次可以处理多个文件,极大地提高了工作...

    asp+txt农产品质量追溯/溯源防伪查询系统 V1.5

    该系统的核心功能是通过文本文件(txt)来存储和处理农产品的相关信息,实现对农产品的生产、加工、流通等环节的全程记录,从而达到追溯源头和防伪的目的。V1.5版本可能代表这是该系统的升级版,可能包含了更多的...

    PCB.rar_PCB 设计_PCB设计规则_pcb_pcb 规则_模拟电路

    压缩包内的"www.pudn.com.txt"可能是提供相关链接或资料的文本文件,而"PCB设计指南"则可能是一份详细的PDF文档,包含PCB设计的实践指导、设计实例和技巧。这份资源对于初学者和经验丰富的设计师来说都是宝贵的参考...

    gen_table自动从txt生成表格读写代码

    `gen_table`从txt文件自动生成表格读写代码的功能,为开发者提供了极大的便利,能够快速有效地将文本数据转化为结构化的表格形式,并且支持读取和写入操作。下面我们将详细探讨这一主题。 首先,`gen_table`工具或...

    关键词生产工具

    “关键词组合工具使用说明.txt”文件则包含了软件的使用指南,用户可以通过阅读这个文本文件来了解如何操作工具,包括但不限于设置参数、导入导出数据、查看生成结果等方面的详细步骤和注意事项。 总的来说,这个...

    Replace Pioneer--replacesetup.rar

    "Replace Pioneer"是一款工具软件,主要用于高效地合并大量的TXT文本文件。在日常工作中,尤其是在处理大量数据、日志记录或文本处理任务时,手动合并这些文件可能会非常耗时且容易出错。这款软件的设计目的就是解决...

    网页html.txt批量修改工具

    2. **设置查找与替换规则**:在工具中,你可以设置查找的关键词或表达式,以及替换的文本。这里支持正则表达式,因此对于复杂的情况也能应对自如。 3. **预览与确认**:在实际修改前,工具通常会提供预览功能,让你...

    html.txt.php.文件批量修改

    批量改名则可以方便地更改文件的名称,比如统一添加前缀或后缀,或者按照某种规则重新命名。批量插入功能可以在每个文件的特定位置插入新的代码或文本,例如在所有HTML文件的头部添加一个新的CSS引用。最后,批量...

Global site tag (gtag.js) - Google Analytics