自动化方法如下
package BinaryTree;
import java.io.*;
/**
* 自动化组装实体对象类
*
* @author cqf
* @date 2021/11/9 20:23
*/
public class Assembler {
public void readFileByLines(String inputPath, String outputPath) {
File file = new File(inputPath);
try (BufferedReader reader = new BufferedReader(new FileReader(file));
FileWriter fileWriter = new FileWriter(outputPath)) {
String line;
while ((line = reader.readLine()) != null && !"".equals(line)) {
String english = line.substring(0, line.indexOf("\t"));
String chinese = line.substring(line.lastIndexOf("\t") + 1);
int lastSpaceIndex;
if ((lastSpaceIndex = chinese.lastIndexOf("\t")) != -1) {
chinese = chinese.substring(0, lastSpaceIndex);
}
char firstChar = english.charAt(0);
if (!(firstChar >= 'a' && firstChar <= 'z' || firstChar >= 'A' && firstChar <= 'Z')) {
// 将前后字符串值交换,存放到对应字符串变量中
String tempStr = chinese;
chinese = english;
english = tempStr;
}
line = "/**\n" +
" * " + chinese + "\n" +
" **/\n" +
"@JsonProperty(\"" + english + "\")\n" +
"private String " + (char)(english.charAt(0)-'A'+'a') + english.substring(1) + ";\n";
fileWriter.append(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
输入文件举例
身高 Height
体重 Weight
姓名 Name
班级 Class
性别 Gender
国籍 Nationality
父亲 Father
母亲 Mother
学号 StudentId
输出文件举例
/**
* 身高
**/
@JsonProperty("Height")
private String height;
/**
* 体重
**/
@JsonProperty("Weight")
private String weight;
/**
* 姓名
**/
@JsonProperty("Name")
private String name;
/**
* 班级
**/
@JsonProperty("Class")
private String class;
/**
* 性别
**/
@JsonProperty("Gender")
private String gender;
/**
* 国籍
**/
@JsonProperty("Nationality")
private String nationality;
/**
* 父亲
**/
@JsonProperty("Father")
private String father;
/**
* 母亲
**/
@JsonProperty("Mother")
private String mother;
/**
* 学号
**/
@JsonProperty("StudentId")
private String studentId;