一个最简单的 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(); }
  }
}

时间: 2024-09-18 14:19:20

一个最简单的 JavaBeanMaker(原创)的相关文章

发一个php简单的伪原创程序,配合商城采集用的_php技巧

复制代码 代码如下: <?php $arr=array(); $arr['好']='坏'; $arr['不好']='不坏'; $arr['坏']='好'; $arr['不坏']='不好'; $str="我们好不好"; echo strtr($str,$arr); //输出我们坏不坏 ?> 于是问题就很好解决了.自己构建了一个数据库来收集同义词 关键的两个程序是导入数据库和导出文件. word2db.php 从文件导入到数据库中 复制代码 代码如下: <?php //将

Ultradev实例教程:5 做一个相对简单的网站后台(1)

后台|教程 第五章:做一个相对简单的网站后台(1) 在这一节的内容中,我们将综合利用到我们前面学到的显示.插入.编辑.删除等功能来实现一个相对简单的新闻发布系统. 先介绍一下这个新闻发布系统的构成: 前台部分:首页上显示最新更新的5条新闻,点击新闻的标题察看详细信息(包括新闻的内容,相关连接),另外还有一个More的连接,指向一页可以每页显示10条记录. 后台部分:通过一个密码验证页面登录进功能选择页面.功能选择页面提供增加.删除.修改管理用户和增加.删除.修改新闻的跳转. 按照我们前面课程的介

Ultradev实例教程:5 做一个相对简单的网站后台(3

后台|教程 第五章:做一个相对简单的网站后台(3) 删除的页面怎么做呢?咦?忘了我们上面讲的吗?用command对象,很简单就完成了: 测试一下先.删掉我们刚刚编辑过的那条数据,嗯,也很正常----不正常才怪呢 :) 一般我们添加.删除.编辑完了数据之后都会有一些提示,或者要跳转到另外一个页面去.比如我们删除操作(del_article.asp)完成后要跳回数据显示页面,怎么办?用html里面的refresh标记.呵呵,是不是突然拍拍脑袋有恍然大悟的感觉.老是在asp中转来转去,html的东西都

Ultradev实例教程:5 做一个相对简单的网站后台(2)

后台|教程 首先创建首页,就是现实最新更新的5条新闻纪录.利用我们学到的Ultradev显示纪录的功能,很容易你就能创建好如下图的页面: 怎么显示最新更新的5条记录呢?让我们来看看创建记录集的对话框: 如果我们按照一般创建记录集的方法,在上图中的SQL栏中显示的内容就会是: SELECT ID,title,insert_time (我们只需要显示新闻的标题和记录时间,而新闻内容不需要现实,所以不用选择content这个字段) FROM article 我们将她修改成上面的样子.top 5表示我只

以一个最简单的例子把OO的JavaScript说明白

javascript  OO的JavaScript并不高深,麻烦就麻烦在google出来的国人介绍文章经常罗罗嗦嗦,而且之间的说法还各有不同,摆在一起就让人看了头大.这里重拾简单主义,以一个最简单的例子把OO Javascript说明白. 1.一个颇为精简的例子 //定义Circle类function Circle(radius) {    this.r = radius;}Circle.PI = 3.14159;Circle.prototype.area = function(  ) {ret

新官上任,转贴一篇:Java做一个最简单的通话程序

程序 Java中的网络编程是一个很重要的部分,也是其编程优越性的地方之一.在Java中有一个专门的Java.net类库来管理网络编程的有关方法. 下面先介绍在Java中怎样用socket进行客户与服务器通信.最后再介绍一个一个最简单的通话程序. 一.怎样用socket进行客户与服务器通信 在Java中用socket进行客户/服务器之间的通信编程.Socket是两个实体之间进行通信的有效端点.通过socket可以获得源IP地址和源端口.终点IP地址和终点端口.用户可以将多个socket连入同一个端

用C#制作一个最简单的Web Service

web 下面,我们看看如何建立和部署一个最简单的Web服务 建立Web服务 1.在wwwroot目录下建立一个叫做Webservice的目录. 2.建立下面这样一个文件: <%@ WebService Language="c#" Class="AddNumbers"%> using System;using System.Web.Services;public class AddNumbers : WebService{[WebMethod]public

API入门系列之四 -一个相当简单的SDK程序

大家好,还是我beyondcode,再次见面,前面介绍的那么多'理论知识',你们都懂了吗? 就 算还没有彻底领悟,但至少还是有那么一点意识了吧,知道有那么一回事了吧.这一篇我打算通过一个 小小小例子,来回忆一下我们以前介绍的相关知识,如Windows的数据类型,特别是和字符和字符串操作 相关的数据类型,还有就是Unicode和ASCII在API函数上的具体体现. 另外,SDK编程交流群已经 建立,很多朋友踊跃参加,系列文章和群的发展离不开你们.群号:81543028. Ok,我们正式开 始,我打

C#实现一个功能简单的web浏览器

为相应的控件添加相应的事件响应代码,完整代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; namespace Web浏览器 { public partial class Fo