一个最简单的 JavaBeanMaker(原创)

只实现最简单功能,自动生成setter,getter当bean中属性较多时可以节省时间:

Usage: java JavaBeanMaker aaa.txt bbb

1. aaa.txt is the text file in following style,you can get a example–jeru.txt in attachment
   ======================
   int id
   String name
   int age
   ======================

2  bbb is the file name of your javabean without .java,so if you want a Test.java
   just type "Java JavaBeanMaker aaa.txt Test"

================= jeru.txt ==========================
int id
String name
int age
================= JavaBeanMaker.java ================
import java.io.*;
import java.util.*;

public class JavaBeanMaker {
  
  public static void main(String[] args) {
    System.out.println("Reading datas……");
      try {
        // read properties of source text file
    int i = 0;
    String record = new String();
    Vector property = new Vector();
        RandomAccessFile source = new RandomAccessFile(args[0],"r");
        while ((record = source.readLine()) != null) {
          i ++;
          property.addElement(record);        
        }
        source.close();
      
    RandomAccessFile destine = new RandomAccessFile(args[1],"rw");
        String content = "// This JavaBean is make by Jeru’s JavaBeanMaker" + "\r\n\r\n";
        content += "public class " + args[1] + " {" + "\r\n\r\n";
      
    String[] tmp = new String[3];
    for (i=0; i<property.size(); i++) {
      String str = (String)property.elementAt(i);
      //System.out.println("Value " + i + ":" + str);
      StringTokenizer tokens = new StringTokenizer(str);
          for (int j=0; j<=1; j++) {
        tmp[j] = tokens.nextToken();
        System.out.println("token: " + tmp[j]);          
      }

         // capital tmp[1]
      tmp[2] = tmp[1].substring(0,1).toUpperCase() + tmp[1].substring(1);
      System.out.println(tmp[2]);
    
      content += "  " + tmp[0] + " " + tmp[1] + ";" + "\r\n";
        
      content += "  " + "public void set" + tmp[2] + "(" + tmp[1] + ") {" + "\r\n";
      content += "    " + "this." + tmp[1] + " = " + tmp[1] + ";" + "\r\n";
      content += "  " + "}" + "\r\n";
        
      content += "  " + "public "  + tmp[0] + " get" + tmp[2] + "() {" + "\r\n";
      content += "    " + "return " + tmp[1] + ";" + "\r\n";
          content += "  " + "}" + "\r\n\r\n";

       }

       System.out.println("the last content is " + content);
       content += "}";
       destine.writeBytes(content);
       destine.close();    
    
     } catch(Exception e){ e.getMessage(); }
  }
} 【问题提问、论坛交流】编辑:xker.com