每次实体类去继承KvmSerializable都要重写那三个方法,写到人傻去,本来想找网上自动生成的代码,结果死活找不到,于是自己写了个简单的方法去自动生成,只要去控制台那边复制一波就行,终于解放了
效果图
记录一下,方便以后调用
import java.awt.List;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.ArrayList;
public class test1 {
public static void main(String[] args) {
File file =new File("C:\\Users\\Lenovo\\Desktop\\test.txt");
ArrayList<String> list=new ArrayList();
BufferedReader reader = null;
try {
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
// 一次读入一行,直到读入null为文件结束
while ((tempString = reader.readLine()) != null) {
// 显示行号
System.out.println("line " + line + ": " + tempString);
String contest= tempString.replace(" ", "").replace("privateString", "");
if(contest!=null&&!"".equals(contest)) {
int index=contest.indexOf(";");
String real =contest.substring(0,index).replace(";", "");
list.add(real);
}
line++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
System.out.println(" -----------------------------------------");
//getProperty
for (int i=0;i<list.size();i++) {
if(i==0) {
System.out.println("@Override");
System.out.println("public Object getProperty(int i) {");
System.out.println(" switch (i){");
}
System.out.println(" case "+i+":");
System.out.println(" return "+list.get(i)+";");
if(i==(list.size()-1)) {
System.out.println(" }");
System.out.println("return null;");
System.out.println(" }");
}
}
System.out.println(" ");
System.out.println(" ");
//setProperty
for (int i=0;i<list.size();i++) {
if(i==0) {
System.out.println("@Override");
System.out.println("public void setProperty(int i, Object o){");
System.out.println(" switch (i){");
}
System.out.println(" case "+i+":");
System.out.println(" "+list.get(i)+"=o.toString();");
System.out.println(" break;");
if(i==(list.size()-1)) {
System.out.println(" }");
System.out.println(" }");
}
}
System.out.println(" ");
System.out.println(" ");
//getPropertyInfo
for (int i=0;i<list.size();i++) {
if(i==0) {
System.out.println("@Override");
System.out.println("public void getPropertyInfo(int i, Hashtable hashtable, PropertyInfo info){");
System.out.println(" switch (i){");
}
System.out.println(" case "+i+":");
System.out.println(" info.type = PropertyInfo.STRING_CLASS;");
System.out.println(" info.name = \""+list.get(i)+"\";");
System.out.println(" break;");
if(i==(list.size()-1)) {
System.out.println(" }");
System.out.println(" }");
}
}
System.out.println(" ");
System.out.println(" ");
System.out.println(" @Override");
System.out.println(" public int getPropertyCount() { return "+(list.size())+";}");
}
}