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");
    }
    }
  • 相关阅读:
    总结thinkphp快捷查询getBy、getField、getFieldBy用法及场景
    javascript中的那些让人摸不着头脑的不=
    使用jquery静态资源公共库cdn及回退地址
    论strpos 的正确使用方式
    深入解析array_merge函数的用法 php
    thinkphp集成系列之rbac的升级版auth权限管理系统demo
    thinkphp集成系列之短信验证码、订单通知
    sublime安装ctags函数追踪插件
    Sublime Text3下配置SublimeLinter进行PHP代码检查
    win7启动redis报错Creating Server TCP listening socket *:6379: bind: Unknown error
  • 原文地址:https://www.cnblogs.com/tobiasy/p/8004562.html
Copyright © 2011-2022 走看看