Java 自定义方法 - CNF:修订间差异

来自牛奶河Wiki
跳到导航 跳到搜索
无编辑摘要
无编辑摘要
 
第27行: 第27行:
|}
|}


package com.udf.base;
===GIT===
/*
https://github.com/ldscfe/devudefj2/blob/main/src/main/com/udf/CNF.java
------------------------------------------------------------------------------
  Name    : Udf.base.CNF
  Purpose  : get config
  Author  : Adam
  Revisions:
  Ver        Date        Author          Description
  ---------  ----------  ---------------  ------------------------------------
  1.0        2024/2/7    Adam
  format:
    property:
    method  : get, put
------------------------------------------------------------------------------
*/
import org.apache.log4j.Logger;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Properties;
public class CNF extends BASE {
    public static final String VERSION = "v1.0";
    private static final Properties dCnf = new Properties();
    private static final Logger logger = Logger.getLogger(CNF.class);
    public CNF(String sFile) {
        // get config, if not path, default ./config/
        String sPath;
        if (sFile.indexOf('/') >= 0)
            sPath = sFile;
        else
            sPath = System.getProperty("user.dir") + "/config/" + sFile;
        // config file contents --> dCnf(Properties)
        try {
            File fFile = new File(sPath);
            if (!fFile.isFile()) {
                //throw new RuntimeException("File Read Error." + sFile);
                logger.error(String.format("File %s Read Error.", sFile));
            }else {
                InputStream is = new FileInputStream(fFile);
                dCnf.load(is);
                is.close();
            }
        } catch (Exception e) {
            logger.error(String.valueOf(e));
        }
        //System.out.println(dCnf);
    }
    public Properties get() {
        return dCnf;
    }
    public String get(String key) {
        return dCnf.getProperty(key);
    }
    // put {sKey}{sKeyp}* Properties --> map
    public void put(HashMap<String, String> mKV, String sKey, String sKeyp) {
        String str1;
        for (String key : dCnf.stringPropertyNames()) {
            if (key.indexOf(sKey) == 0) {
                str1 = ltrim(key, sKey);
                str1 = ltrim(str1, sKeyp);
                mKV.put(str1, dCnf.getProperty(key));
            }
        }
    }
    // default: item --> item.
    public void put(HashMap<String, String> mKV, String sKey) {
        put(mKV, sKey, ".");
    }
}


[[分类:Develop]]
[[分类:Develop]]
[[分类:Java]]
[[分类:Java]]

2024年10月30日 (三) 16:07的最新版本

Java 自定义函数 - CNF

从配置文件中获取 item 定义 name1, name2,...,配置文件格式:

item.name1=value
item.name2=value
No Method Explain Example
0 CNF 读配置文件,支持全路径,默认当前目录下 config 目录 CNF cnf1 = new CNF("sys.cnf")
get 获取指定 key 值或全部值
put 将指定 item 组值放入 MAP cnf1.put(dbinfo, "db_" + sType)

GIT

https://github.com/ldscfe/devudefj2/blob/main/src/main/com/udf/CNF.java