zoukankan      html  css  js  c++  java
  • 关于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");
    }
    }
  • 相关阅读:
    flex 布局 shrink 属性
    flex 布局 flex-grow 属性
    flex 布局 flex-basis 属性
    flex 布局 justify-content 对齐的图解
    CSS定位要点笔记
    CSS浮动要点笔记
    CSS选择器要点笔记
    eslint no-unused-vars 解决办法
    NodeJs使用Promise解决多层异步调用的简单学习
    windows10 搭建 NTP 时间服务器
  • 原文地址:https://www.cnblogs.com/tobiasy/p/8004562.html
Copyright © 2011-2022 走看看