`
流浪鱼
  • 浏览: 1682176 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Properties文件工具类

    博客分类:
  • java
 
阅读更多

 

 

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.DefaultResourceLoader;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.util.DefaultPropertiesPersister;
import org.springframework.util.PropertiesPersister;

/**
 * Properties文件工具类.

 */
public class PropertiesLoader {

    private static final String DEFAULT_ENCODING = "UTF-8";
    private static Logger logger = LoggerFactory.getLogger(PropertiesLoader.class);
    private static PropertiesPersister propertiesPersister = new DefaultPropertiesPersister();
    private static ResourceLoader resourceLoader = new DefaultResourceLoader();

    private PropertiesLoader() {
    }

    /**
     * 载入多个properties文件, 相同的属性在最后载入的文件中的值将会覆盖之前的载入.
     * 文件路径使用Spring Resource格式, 文件编码使用UTF-8.
     * 
     * @see org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
     */
    public static Properties loadProperties(String... resourcesPaths) throws IOException {
        Properties props = new Properties();

        for (String location : resourcesPaths) {

            logger.debug("Loading properties file from:" + location);

            InputStream is = null;
            try {
                Resource resource = resourceLoader.getResource(location);
                is = resource.getInputStream();
                propertiesPersister.load(props, new InputStreamReader(is, DEFAULT_ENCODING));
            } catch (IOException ex) {
                logger.info("Could not load properties from classpath:" + location + ": " + ex.getMessage());
            } finally {
                if (is != null) {
                    is.close();
                }
            }
        }
        return props;
    }
}

 

分享到:
评论

相关推荐

    读取properties文件工具类

    这个"读取properties文件工具类"是为了简化程序中对`.properties`文件的读取操作而设计的。通过这样的工具类,开发者可以方便地加载和获取配置文件中的属性值,避免重复编写相同的代码。下面我们将详细探讨`...

    java生成properties文件工具类

    通过程序生成properties文件的工具类,并可根据添加顺序生成,可添加注释,调用步骤如下: 1.OutputOrderProperties p = new OutputOrderProperties(); 2.FileInputStream fs = new FileInputStream("文件路径"); 3....

    Property工具类,Properties文件工具类,PropertiesUtils工具类

    在Java编程中,`Property`工具类和`Properties`文件工具类是处理配置文件的关键组件。这些工具类帮助开发者读取、写入以及管理应用程序的配置信息,通常以`.properties`文件的形式存在。`.properties`文件是一种键值...

    java properties文件操作工具类,可追加修改

    此工具类只用于Java后端在操作Properties文件的时候写的工具类,方便properties文件的存取操作

    Properties 文件比较工具

    总之,“Properties文件比较工具”是Java开发中一个实用的小型应用,它利用了Java标准库提供的`Properties`类,为开发者提供了便利,提高了工作效率。通过分析`diffProperties.java`和`property.java`源代码,我们...

    能保存Properties文件注释的Properties工具类

    针对这个问题,开发者们创建了`CommentedProperties`这样的工具类,以保留属性文件中的注释信息。 `CommentedProperties`是基于Java的自定义Properties扩展,它的核心功能在于加载和保存文件时能够识别并保留注释。...

    读取Properties信息工具类

    "读取Properties信息工具类"是指一个自定义的Java类,它封装了与Properties文件交互的过程,通常包括加载、获取和更新属性值等操作。这样的工具类能够使代码更具有可维护性和复用性,避免在多个地方重复处理...

    properties读取工具类设计

    throw new RuntimeException("加载properties文件失败", e); } return props; } ``` 在这个方法中,我们使用`FileInputStream`打开文件,并通过`Properties`类的`load()`方法将输入流中的内容加载到`Properties`...

    java对properties的操作工具类

    java对properties的操作工具类 属性文件

    java properties文件中文转化

    博主分享了一个实用的方法,即通过Unicode转换工具来处理含有中文字符的properties文件,以确保数据的正确性。 首先,我们需要理解Java Properties文件的编码问题。默认情况下,Java Properties类在读取和写入文件...

    Python实现读取Properties配置文件的方法

    为了在Python中读取这样的文件,我们可以创建一个名为`Properties`的类,该类包含两个方法:`__init__`和`getProperties`。`__init__`用于初始化类实例,并接收文件路径作为参数;`getProperties`方法负责打开文件,...

    Java加载配置文件工具类

    这个"Java加载配置文件工具类"很可能是为了解决这个问题而创建的一个实用工具,帮助开发者更方便、高效地处理配置文件。配置文件通常以.properties或.xml格式存在,用于存储应用程序的参数、配置项等。 配置文件的...

    android中读取properties文件

    总结来说,Android中读取`.properties`文件主要涉及`Properties`类的使用,文件的存放位置(如`assets`或`res/raw`),以及适当的错误处理和资源管理。理解这些知识点有助于开发者更高效地管理和使用配置文件。

    excel与properties文件相互转换

    Excel是一种广泛用于数据处理和分析的电子表格工具,而Properties文件则常见于Java开发中,用于存储配置信息。两者之间的相互转换能提升工作效率,特别是在处理大量配置数据时。 Excel文件(.xlsx或.xls)是...

    读取配置文件工具类.rar

    本压缩包包含两个工具类,分别用于读取`.yml`和`.properties`格式的配置文件,这两种格式都是Java开发中常见的配置文件类型。 首先,我们来看`.properties`配置文件。这种格式的文件历史较为悠久,它的语法简单,每...

    java配置文件修改读取工具类,包括yml和properties类型文件

    本篇文章将深入探讨如何使用Java工具类来读取和修改这两种类型的配置文件。 首先,我们来看`YmlUtil.java`,这是一个专门处理YAML格式配置文件的工具类。YAML是一种简洁且易于阅读的数据序列化语言,常用于配置文件...

    Java实现的properties文件动态修改并自动保存工具类

    Java实现的properties文件动态修改并自动保存工具类 Java实现的properties文件动态修改并自动保存工具类是指通过Java语言编写的工具类,该工具类可以实现对properties配置文件的动态修改和自动保存功能。下面是该...

    JAVA 解决Properties文件保存中文乱码

    在Java编程中,Properties文件是用于存储配置信息的文本文件,通常包含键值对,其中键和值可以是任意字符串。然而,当这些文件中包含中文字符时,如果不正确地处理编码,可能会出现中文乱码的问题。本文将深入探讨...

    Properties文件解析.zip

    制作`properties`文件解析工具时,可以封装这些功能到一个自定义的类中,例如`PropertiesUtil`,提供静态方法供用户传入文件路径,然后返回一个键值对的映射或者根据键获取值。这样,使用者只需一行代码就能完成操作...

    MyEclipse中Properties文件插件

    MyEclipse提供了便利的工具来读取和管理这些配置,如通过`java.util.Properties`类加载Properties文件,并使用键获取对应的值。 6. 调试与预览 - 在MyEclipse中,可以实时预览Properties文件的效果,这在进行国际...

Global site tag (gtag.js) - Google Analytics