练习 2017-08-22 通过控制台,获取类名,字段名称,字段类型,根据一个模板文件,自动创建这个类文件,并且为字段提供setter和getter方法
2017-08-22 11:13
741 查看
package user;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.Scanner;
//通过控制台,获取类名,属性名称,属性类型,根据一个模板文件,自动创建这个类文件,并且为属性提供setter和getter
public class UserDemo {
public static void main(String[] args) {
//获取信息
Scanner s = new Scanner(System.in);
System.out.println("请输入类的名称:");
String className = s.nextLine();
System.out.println("请输入字段的类型:");
String fieldType = s.nextLine();
System.out.println("请输入字段的名称:");
String fieldName = s.nextLine();
//把字符串第一个字母改为大写
String uField = Character.toUpperCase(fieldName.charAt(0))+fieldName.substring(1);
StringBuilder sb = new StringBuilder(100);
try(
Scanner
in = new Scanner(new FileInputStream("test/User.java"));
){
while(in.hasNext()){
sb.append(in.nextLine()).append("\r\n");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
//替换文中关键字内容
String ret = sb.toString().replaceAll("@class@", className);
ret = ret.replaceAll("@type@", fieldType);
ret = ret.replaceAll("@property@", fieldName);
ret = ret.replaceAll("@Uproperty@", uField);
System.out.println(ret);
//使用打印流输出到文本
try {
System.setOut(new PrintStream("test/User.java"));
System.out.println(ret);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.Scanner;
//通过控制台,获取类名,属性名称,属性类型,根据一个模板文件,自动创建这个类文件,并且为属性提供setter和getter
public class UserDemo {
public static void main(String[] args) {
//获取信息
Scanner s = new Scanner(System.in);
System.out.println("请输入类的名称:");
String className = s.nextLine();
System.out.println("请输入字段的类型:");
String fieldType = s.nextLine();
System.out.println("请输入字段的名称:");
String fieldName = s.nextLine();
//把字符串第一个字母改为大写
String uField = Character.toUpperCase(fieldName.charAt(0))+fieldName.substring(1);
StringBuilder sb = new StringBuilder(100);
try(
Scanner
in = new Scanner(new FileInputStream("test/User.java"));
){
while(in.hasNext()){
sb.append(in.nextLine()).append("\r\n");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
//替换文中关键字内容
String ret = sb.toString().replaceAll("@class@", className);
ret = ret.replaceAll("@type@", fieldType);
ret = ret.replaceAll("@property@", fieldName);
ret = ret.replaceAll("@Uproperty@", uField);
System.out.println(ret);
//使用打印流输出到文本
try {
System.setOut(new PrintStream("test/User.java"));
System.out.println(ret);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
相关文章推荐
- 使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法
- 使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法
- javabean根据属性名称获取对应的的getter/setter方法名
- .NET : 如何动态根据一个业务实体类型创建XSD架构文件
- bash shel脚本创建一个名为datafile的文本文件(除非已存在了这个文件)。文件中的每条记录都包含由冒号分隔的字段
- 个人学习代码保存:例10.通过模板创建静态页面的操作文件的一个自定函数
- 使用文件模板和向导创建一个类型文件
- C#实现通过模板自动创建Word文档的方法
- 数据库存储过程中定义一个变量,通过sql语句在数据表中获取这个变量值的方法。
- loner_li 机试题 一个文本文件含有如下内容,分别表示姓名和成绩:张三 90 ..提供用户一个控制台界面,允许用户输入要查询的姓名,输入姓名并且按回车以后,打印出此人的成绩...
- Java反射代码--01.通过类名称加载一个类并且获取当前类实例
- singleton pattern的一个模板实现, 适用于单线程, 并且提供了Release方法
- C# 通过HttpWebRequest 创建连接获取文件大小 判断Http类型的文件是否存在
- 1.编写一个简单的C语言程序:根据输入的两个整数求平均值并且在终端输出,通过gcc编译器得到它的汇编程序文件。 2.编写一个C语言程序:打印输出所有“水仙花数”,用gdb调试程序(给出步骤)。所谓“
- (java)获取某文件夹下面所有的指定类型的文件名称,并根据情况返回可用的名称
- 练习2-1 编写一个程序一确定分别由signed及unsigned限定的char,short,int及long类型变量的取值范围。采用打印标准头文件中的相应值以及直接计算两种方式实现。通过直接计算来确定浮点类型的取值范围是一项难度很大的任务。
- C# 根据包含文件的路径和文件的名称的字符串获取文件名称的几种方法
- 通过字段名称动态获取资源的id(将Android工程做成jar包和资源文件)
- 如果某一个对象没有提供创建函数,或创建函数无法达到期望的效果,如果创建新的这个类型的对象?
- 一个自动根据图片文件类型打开图片的PHP函数