properties工具类

import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.Properties;

import org.apache.log4j.Logger;
import org.apache.struts2.util.ClassLoaderUtils;

/**
 * 读取properties 工具类
 *
 * @author Jarven
 *
 */
public class PropertiesUtil {

    private static final Logger log = Logger.getLogger(PropertiesUtil.class);

    private static Properties prop = new Properties();// 属性集合对象
    static {
        try {
            InputStream is = null;
            is = ClassLoaderUtils.getResourceAsStream("config.properties", PropertiesUtil.class);
            if (is != null) {
                prop.load(is);// 将属性文件流装载到Properties对象中
                is.close();// 关闭流
            }
        } catch (Exception e) {
            log.error("读取配置文件出错:" + e);
        }
    }

    /**
     * 根据key获取配置的值
     *
     * @param key
     * @return
     */
    public static String getProperties(String key) {
        if (key == null)
            return null;
        return prop.getProperty(key);

    }

    /**
     * 根据key获取配置的值,若没有,则取传过来的默认的值
     *
     * @param key
     * @param defaultValue
     * @return
     */
    public static String getProperties(String key, String defaultValue) {
        if (key == null)
            return null;
        return prop.getProperty(key, defaultValue);

    }

    /**
     * 写配置文件
     *
     * @param key
     * @param value
     * @return
     */
    public static boolean setProperty(String key, String value) {
        boolean flag = false;
        try {
            prop.setProperty(key, value);
            flag = true;
        } catch (Exception e) {
            log.error("写配置文件出错:" + e);
            flag = false;
        }
        return flag;
    }

    public static void main(String[] args) {
        try {

            // 获取属性值,sitename已在文件中定义
            System.out.println("获取属性值:cas.sso.webserviceurl="
                    + prop.getProperty("cas.sso.webserviceurl"));

            // 获取属性值,country未在文件中定义,将在此程序中返回一个默认值,但并不修改属性文件
            // System.out.println("获取属性值:country=" + prop.getProperty("country",
            // "中国"));

            // 修改sitename的属性值
            prop.setProperty("sitename", "Boxcode");
            // 添加一个新的属性studio
            prop.setProperty("studio", "Boxcode Studio");
            // 文件输出流
            FileOutputStream fos = new FileOutputStream("prop.properties");
            // 将Properties集合保存到流中
            prop.store(fos, "Copyright (c) Boxcode Studio");
            fos.close();// 关闭流

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

}
时间: 2024-11-03 21:57:36

properties工具类的相关文章

Java Properties工具类详解

1.Java Properties工具类位于java.util.Properties,该工具类的使用极其简单方便.首先该类是继承自 Hashtable<Object,Object> 这就奠定了Properties类的本质其实是一个HashTable,那么对于各种工具类的典型特性就是在HashTable的基础之上做各种封装,以降低操作的难度.说白了,本质上还是key = value结构,只不过key和value都是字符串而已.可以理解成为一个简化版的Map<String, String&g

java.util.Properties工具类

import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Properties;

java学习-加载.properties工具类

javaWeb项目,要加载xxx.properties或其它如.txt, .md后缀的文本文件 文本内容有两种格式 key:value或者key=value 诸如Spring框架,Jfinal框架,都是使用java.util.Properties类来加载文本配置文件 Poperties类是按行读取key和value,所以我们写配置文件时,只能一行一个key/value键值对 这些配置文件一般会在编译时打包到WEB-INF/classes/文件夹下 我们要加载时就要通过使用下面方法获取InputS

properties文件读取工具类

项目中防止硬编码,经常会将一些与业务相关的数据存在properties文件中,根据不同的key加载不同的数据,所以就会有读取properties文件的东西,这篇文章仅为了以后copy方便写的. 1.添加依赖: <!-- https://mvnrepository.com/artifact/commons-configuration/commons-configuration --><dependency> <groupId>commons-configuration&l

Java读取properties文件工具类并解决控制台中文乱码

1.建立properts文件(error.message.properties) HTTP201= 请求成功并且服务器创建了新的资源 2.在spring-mvc.xml文件(applicationContext-mvc.xml)中配置properties工具类路径及读取properties文件的路径 <bean id="propertyConfigurer" class="com.yjlc.platform.utils.PropertyConfigurer"

Code片段 : .properties属性文件操作工具类 &amp; JSON工具类

摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “贵专” — 泥瓦匠 一.java.util.Properties API & 案例 java.util.Properties 是一个属性集合.常见的api有如下: load(InputStream inStream)  从输入流中读取属性 getProperty(String key)  根据key,获取属性值 getOrDefault(Object key, V defaultValue)

161216、使用spring的DefaultResourceLoader自定义properties文件加载工具类

import java.io.IOException; import java.io.InputStream; import java.util.NoSuchElementException; import java.util.Properties; import org.apache.commons.io.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.co

文件读取工具类读取properties文件

1.创建工具类 import java.io.IOException; import java.util.Properties; /** * * 类名称:PropertiesUtil * 类描述: 文件读取类 * 创建人:Jxufe HeHaiYang * 创建时间:2015-1-20 下午03:14:02 * 修改备注: * @version */ public class PropertiesUtil { private static Properties properties=new Pr

java 读取配置文件工具类 (how to read values from properties file in java)

Java 读取配置文件工具类 使用 java.util.Properties import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class PropertiesReader { private static Properties prop; static { reload(); } private static void reload() { prop = new