新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > Web开发 > JSP教程 > 正文:一个最简单的 JavaBeanMaker(原创)

一个最简单的 JavaBeanMaker(原创)

新客网 XKER.COM 2006-05-27 来源: 收藏本文
只实现最简单功能,自动生成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
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐