自动生成bean

一个很简单的功能,用来自动生成bean代码


CreateBean.java
代码:

package com.auto.util;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;

public class CreateBean {
	public CreateBean() {

	}

	public ArrayList<String> readFile(String filename) {
		ArrayList<String> line = new ArrayList<String>();
		try {
			File f = new File(filename);
			RandomAccessFile rf = new RandomAccessFile(f, "r");
			String temp;
			while (rf.read() != -1) {
				rf.seek(rf.getFilePointer() - 1);
				temp = new String(rf.readLine().getBytes("8859_1"));
				if(temp.trim().length()>1){
					line.add(temp);
				}
			}
			rf.close();
		} catch (NullPointerException e) {
			e.printStackTrace();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		return line;

	}

	public void createBean(String filename, ArrayList<String> elements) {
		String reqfilename="Req_"+ filename+".java";
		String path = System.getProperty("user.dir")
				+ "\\src\\com\\business\\reqbean\\";
		File f = new File(path +reqfilename);
		try {
			f.createNewFile();
			StringBuffer beancode = new StringBuffer();
			beancode.append("package com.business.reqbean;");
			beancode.append("\r\n");
			beancode.append("/**CreateBean自动生成代码*/");
			beancode.append("\r\n");
			beancode.append("public class Req_"+filename+" {");
			beancode.append("\r\n    ");
			for (String ts : elements) {
				String[] ns = ts.split("	");
				beancode.append("/**"+ns[2]+"*/");
				beancode.append("\r\n    ");
				if(ns.length>4){
					beancode.append("/**"+ns[4]+"*/");
					beancode.append("\r\n    ");
				}
				beancode.append("private "+ns[1]+" "+ns[0]+";");
				beancode.append("\r\n    ");
				beancode.append("public "+ns[1]+" get"+chargeMethod(ns[0])+"(){");
				beancode.append("\r\n        ");
				beancode.append("return "+ns[0]+";");
				beancode.append("\r\n    ");
				beancode.append("}");
				beancode.append("\r\n    ");
				beancode.append("public void"+" set"+chargeMethod(ns[0])+"("+ns[1]+" "+ns[0]+"){");
				beancode.append("\r\n        ");
				beancode.append("this."+ns[0]+" = "+ns[0]+";");
				beancode.append("\r\n    ");
				beancode.append("}");
				beancode.append("\r\n    ");
			}
			beancode.append("\r\n");
			beancode.append("}");

			RandomAccessFile rf = new RandomAccessFile(f, "rw");
			rf.write(beancode.toString().getBytes("UTF-8"));
			rf.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}
	private String chargeMethod(String f){
		return f.substring(0, 1).toUpperCase()+f.substring(1);
	}

	public static void main(String args[]) {
		CreateBean cb = new CreateBean();
		ArrayList<String> elements = cb.readFile(System.getProperty("user.dir")
				+ "\\beanDepict\\interfacename");
		cb.createBean("interfacename", elements);

	}
}


使用的时候准备一个文本文件 interfacename
内容如下
phoneNum java.lang.String手机号码 必须目前支持移动和联通
放在beanDepict目录下
运行后生成bean  Req_interfacename.java


package com.business.reqbean;
/**CreateBean自动生成代码*/
public class Req_interfacename {
    /**手机号码*/
    /**目前支持移动和联通*/
    private java.lang.String phoneNum;
    public java.lang.String getPhoneNum(){
        return phoneNum;
    }
    public void setPhoneNum(java.lang.String phoneNum){
        this.phoneNum = phoneNum;
    }
    
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值