• 关于Properties类常用的操作



    import java.io.*;
    import java.util.Enumeration;
    import java.util.Properties;

    /**
    * 关于Properties类常用的操作
    * @author xfm
    * @version 1.0.0
    */
    public class PropertiesUtil {
    private final String prefix = "src/main/resources/";
    private String filePath;

    public PropertiesUtil(String filePath) {
    this.filePath = filePath;
    }

    /**
    * 根据Key读取Value
    * @param filePath 文件名称
    * @param key 键名
    * @return String
    */
    public static String getValueByKey(String filePath, String key) {
    Properties pps = new Properties();
    try {
    InputStream in = new BufferedInputStream(new FileInputStream(filePath));
    pps.load(in);
    String value = pps.getProperty(key);
    return value;

    } catch (Exception e) {
    e.printStackTrace();
    return null;
    }
    }

    public String getValueByKey(String key) {
    String value = null;
    if (key != null && !"".equals(key)) {
    Properties pps = new Properties();
    try {
    // InputStream in = new BufferedInputStream(new FileInputStream(prefix+filePath));
    InputStreamReader isr = new InputStreamReader(new FileInputStream(
    prefix + filePath), "gbk");
    pps.load(isr);
    value = pps.getProperty(key);
    } catch (Exception e) {
    e.printStackTrace();
    return null;
    }
    }
    return value;
    }

    /**
    * 读取Properties的全部信息
    * @param filePath 文件路径
    * @throws IOException IOException异常
    */
    public static void getAllProperties(String filePath) throws IOException {
    Properties pps = new Properties();
    InputStream in = new BufferedInputStream(new FileInputStream(filePath));
    pps.load(in);
    //得到配置文件的名字
    Enumeration en = pps.propertyNames();

    while (en.hasMoreElements()) {
    String strKey = (String) en.nextElement();
    String strValue = pps.getProperty(strKey);
    System.out.println(strKey + "=" + strValue);
    }

    }

    public static void writeProperties(String filePath, String pKey, String pValue) throws IOException {
    Properties pps = new Properties();

    InputStream in = new FileInputStream(filePath);
    //从输入流中读取属性列表(键和元素对)
    pps.load(in);
    //调用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。
    //强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
    OutputStream out = new FileOutputStream(filePath);
    pps.setProperty(pKey, pValue);
    //以适合使用 load 方法加载到 Properties 表中的格式,
    //将此 Properties 表中的属性列表(键和元素对)写入输出流
    pps.store(out, "Update " + pKey + " name");
    }
    }
  • 相关阅读:
    linux下启动和关闭网卡命令及DHCP上网
    python 编码问题
    paddlepaddle
    Convolutional Neural Network Architectures for Matching Natural Language Sentences
    deep learning RNN
    Learning Structured Representation for Text Classification via Reinforcement Learning 学习笔记
    Python IO密集型任务、计算密集型任务,以及多线程、多进程
    EM 算法最好的解释
    tensorflow 调参过程
    tensorflow 学习纪录(持续更新)
  • 原文地址:https://www.cnblogs.com/tobiasy/p/8004562.html
Copyright © 2020-2023  润新知