解析csv文件转为自己想要的报文格式


解析第一版

注意文件编码格式为utf-8,且文件用记事本打开最后没有空出来的行。文件名称分隔符.需要转义。

//第一层
@Data
public class Addi0{
    private String name;
    private String code;
    private List children;
}

//第二层
@Data
public class Addi1{
    private String name;
    private String code;
    private List children;
}
//第三层
@Data
@NoArgsConstructor
@ToString
public class Addi2{
    private String name;
    private String code;
    private String rule;
    private List children;



    public Addi2(String code,String rule){
        this.code = code;
        this.rule = rule;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof Addi2)) return false;

        Addi2 addi2 = (Addi2) o;

        if (code != null ? !code.equals(addi2.code) : addi2.code != null) return false;
        return rule != null ? rule.equals(addi2.rule) : addi2.rule == null;
    }

    @Override
    public int hashCode() {
        int result = code != null ? code.hashCode() : 0;
        result = 31 * result + (rule != null ? rule.hashCode() : 0);
        return result;
    }
}
//第四层实体数据
@Data
public class PointEntity {
    private String name;
    private String code;
    private String rule;
    private Integer point;
    private String diagnosis;
}

//csv文件枚举
@Getter
@AllArgsConstructor
public enum AddiEnum {
    PARENTNAME("父风险因子名称","setName","String"),
    PARENTCODE("风险因子编码","setCode","String"),
    SON1("子风险因子1","setName","String"),
    SON1CODE("子风险因子编码","setCode","String"),
    SON1RULE("取值范围","setRule","String"),
    SON2("子风险因子2","setName","String"),
    SON2CODE("子风险因子编码","setCode","String"),
    SON2RULE("取值范围","setRule","String"),
    SON2POINT("分数","setPoint","Integer"),
    SON2DIAG("释义","setDiagnosis","String");
    private String title;
    private String setMethod;
    private String field;
    public static Add

你可能感兴趣的:(java,算法,数据结构)