private LocalDateTime PP_SENT_DATE;
需要寫成:
private LocalDateTime ppSentDate;
public Integer getDetainPermitDays() {
return detainPermitDays;
}
需要寫成:(先處理完字段,再生成set各谚、get方法)
@Column(name="detain_permit_days")
public Integer getDetainPermitDays() {
return detainPermitDays;
}
這個(gè)類大概有100多個(gè)這樣的字段,所以寫了一個(gè)方法:
// 寫完后到千,想起電視劇白眉大俠的片頭曲:傳說(shuō)中昌渤,他有著絕對(duì)精彩和浪漫的身手
public static void test() throws Exception {
//讀取文件(字符流)
BufferedReader in = new BufferedReader(new InputStreamReader(
new FileInputStream("C:\\Users\\tom\\Desktop\\TblCaseCommonBasic.java"),"utf-8"));// 這里主要是涉及中文
//BufferedReader in = new BufferedReader(new FileReader("d:\\1.txt")));
//寫入相應(yīng)的文件
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream("C:\\Users\\tom\\Desktop\\2.txt"),"utf-8"));
//BufferedWriter out = new BufferedWriter(new FileWriter("d:\\2.txt"));
//讀取數(shù)據(jù)
//循環(huán)取出數(shù)據(jù)
String str = null;
while ((str = in.readLine()) != null) {
System.out.println(str);
// 處理每一行
str = line(str);
if(str.contains("\n")) {
String[] split = str.split("\n");
out.write(split[0]);
out.newLine();
out.write(split[1]);
out.newLine();
}else {
out.write(str);
out.newLine();
}
//寫入相關(guān)文件
// out.write(str);
// out.newLine();
}
//清楚緩存
out.flush();
//關(guān)閉流
in.close();
out.close();
}
public static String line(String a) {
// String a = "private LocalDateTime PP_SENT_DATE;// DATE 行政處罰繳款書送達(dá)日期";
// String a = "public Integer getDetainPermitDays() {";
if(a.contains(";") && a.contains("private")) {
String[] split = a.split(";");
// 找到想要處理的字符串
String a1 = split[0]; // private LocalDateTime PP_SENT_DATE
int lastIndexOf = a1.lastIndexOf(" ");
// System.out.println("lastIndexOf:"+lastIndexOf);
String substring = a1.substring(lastIndexOf+1);
// System.out.println("substring:"+substring);
// 已經(jīng)找到憔四,要處理該字符串膀息,處理substring PP_SENT_DATE
substring = substring.toLowerCase();// pp_sent_date
if(substring.contains("_")) {
String[] split2 = substring.split("_");
StringBuilder sb = new StringBuilder();
for(int i=0;i<split2.length;i++) {
if(i==0) {
sb.append(split2[i]);
}else {
char charAt = split2[i].charAt(0);
String upperCase = String.valueOf(
split2[i].charAt(0)).toUpperCase();
sb.append(upperCase); // 去掉下劃線,后面的字符大寫
String substring2 = split2[i].substring(1);
sb.append(substring2);// 不要忘了后面的字符
}
}
substring=sb.toString();
}
// 處理完之后了赵,整理出結(jié)果
StringBuilder sb = new StringBuilder();
sb.append(a1.substring(0, lastIndexOf)).append(" ").append(substring).append(";");
if(split.length > 1) { // 有這樣的行潜支,分號(hào)后面沒(méi)有內(nèi)容:private String name;
sb.append(split[1]);
}
// System.out.println("最終結(jié)果:");
System.out.println(sb.toString());
return sb.toString();
/*
* public String getCompanyName() {
return companyName;
}
public Integer getDetainPermitDays() {
return detainPermitDays;
}
*/
}else if(a.contains("get") && a.contains("public")){
// public Integer getDetainPermitDays() {
StringBuilder asb = new StringBuilder();
int i1 = a.indexOf("get");
int i2 = a.indexOf("()");
String substring = a.substring(i1+3, i2); // DetainPermitDays
// System.out.println(substring);
char[] charArray = substring.toCharArray();
int sum = 0;
for(int i=0;i<charArray.length;i++) {
if(charArray[i]>='A' && charArray[i]<='Z') {
sum++;
}
}
// System.out.println("sum:"+sum);
StringBuilder sb = new StringBuilder();
if(sum >= 2) {
String s = String.valueOf(charArray[0]).toLowerCase();
sb.append(s);
// 有兩個(gè)大寫字母,需要加下劃線
for(int i=0;i<charArray.length;i++) {
if(charArray[i]>='A' && charArray[i]<='Z' && i > 0) {
// 大寫轉(zhuǎn)為小寫柿汛,并且前面加下劃線
String lowerCase = String.valueOf(charArray[i]).toLowerCase();
sb.append("_").append(lowerCase);
}else {
if(i > 0) {
sb.append(charArray[i]);
}
}
}
}
// 返回結(jié)果 @Column(name="citizen_sex")
if(sb.toString().length() > 0) { // 一個(gè)單詞的不需要加
asb.append(" @Column(name=\""+sb+"\")").append("\n");
}
StringBuilder ss = asb.append(a);
String lowerCase = ss.toString();
// System.out.println(lowerCase);
return lowerCase;
}else {
return a;
}
}
···