将key-value值转换为常量类

需求:当有很多行数据定义为一个常量类,我们可以考虑将他们从数据库查询出,并复制到一个test.txt文件中,通过工具直接将他们定义为常量,并新增一个常量类来保存。
test.txt

sceneFieldPathPrefix	场景字段前缀
sceneEnumSwitch	场景字段枚举值开关
sceneServicetype	场景服务类型
sceneSwitch	场景权限开关
sceneType	场景类型
········

定义后的常量类为Constant.java

	/** 场景字段前缀: */
    public static final String SCENE_FIELD_PATH_PREFIX = " sceneFieldPathPrefix";
    /** 场景字段枚举值开关: */
    public static final String SCENE_ENUM_SWITCH = " sceneEnumSwitch";
    /** 场景服务类型: */
    public static final String SCENE_SERVICETYPE = " sceneServicetype";
    /** 场景权限开关: */
    public static final String SCENE_SWITCH = " sceneSwitch";
    /** 场景类型: */
    public static final String SCENE_TYPE = " sceneType";

工具类TransferConstantUtil.java

   public static void transferConstant(String name) {
        // 使用ArrayList来存储每行读取到的字符串
        List<Map<String,Object>> lists = new ArrayList<>();
        try {
            FileReader fr = new FileReader(name);
            BufferedReader bf = new BufferedReader(fr);
            String str;
            // 按行读取字符串
            while ((str = bf.readLine()) != null) {
                Map<String,Object> map = new HashMap<>();
                String[] split = str.split("\t");
                map.put("key",split[0]);
                map.put("value",split[1]);
                lists.add(map);
            }
            bf.close();
            fr.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println(lists.size()+"========");
        lists.forEach(map->{
            System.out.println("/** "+ map.get("value")+":*/");
            System.out.println("public static final String "+ underScoreName(map.get("key").toString()) +" = \" "+ map.get("key")+"\";");
        });
    }

工具类见另一个博客:https://blog.csdn.net/qq_34254462/article/details/120222647

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值