`

Java读取properties文件的三种方式

    博客分类:
  • Java
阅读更多
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.Properties;

import org.springframework.core.io.support.PropertiesLoaderUtils;

public class PropertiesTest
{
    /**
     * 根据key读取value(第一种方式 )
     * 
     * @param filePath
     *            相对路径, properties文件需在classpath目录下,
     *            比如:configure.properties在包com.test.configure下,
     *            路径就是com/test/configure/configure.properties
     * @param key
     * @return
     */
    public static String getProperty(String filePath, String key)
    {
        String value = null;
        java.util.Properties props;
        try
        {
            props = PropertiesLoaderUtils.loadAllProperties(filePath);
            value = props.getProperty(key);
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        return value;

    }

    /**
     * 读取properties的全部信息(第一种方式 )
     * 
     * @param filePath
     *            相对路径, properties文件需在classpath目录下,
     *            比如:configure.properties在包com.test.configure下,
     *            路径就是com/test/configure/configure.properties
     */
    public static void getProperties(String filePath)
    {
        java.util.Properties props;
        try
        {
            props = PropertiesLoaderUtils.loadAllProperties(filePath);
            printAllProperty(props);
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }

    }

    /**
     * 根据key读取value(第二种方式 )
     * 
     * @param filePath
     *            绝对路径或相对路径, 如果是相对路径,则从当前项目下的目录开始计算,
     *            如:当前项目/configure/configure.properties,
     *            相对路径就是configure/configure.properties
     * @param key
     * @return
     */
    public static String readValue(String filePath, String key)
    {
        Properties props = new Properties();
        String value = null;
        try
        {
            InputStream in = new BufferedInputStream(new FileInputStream(filePath));
            props.load(in);
            value = props.getProperty(key);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return value;
    }

    /**
     * 读取properties的全部信息(第二种方式 )
     * 
     * @param filePath
     *            绝对路径或相对路径, 如果是相对路径,则从当前项目下的目录开始计算, 
     *            如:当前项目/configure/configure.properties,
     *            相对路径就是configure/configure.properties
     */
    public static void readProperties(String filePath)
    {
        Properties props = new Properties();
        try
        {
            InputStream in = new BufferedInputStream(new FileInputStream(filePath));
            props.load(in);
            printAllProperty(props);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

    /**
     * 根据key读取value(第三种方式 )
     * 
     * @param filePath
     *            相对路径, properties文件需在classpath目录下,
     *            比如:configure.properties在包com.test.configure下,
     *            路径就是/com/test/configure/configure.properties
     * @param key
     * @return
     */
    public static String getValue(String filePath, String key)
    {
        Properties props = new Properties();
        try
        {
            //
            InputStream in = Object.class.getResourceAsStream(filePath);
            props.load(in);
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }

        return props.getProperty(key);
    }

    /**
     * 读取properties的全部信息(第三种方式 )
     * 
     * @param filePath
     *            相对路径, properties文件需在classpath目录下,
     *            比如:configure.properties在包com.test.configure下,
     *            路径就是/com/test/configure/configure.properties
     * @return
     */
    public static void getValues(String filePath)
    {
        Properties props = new Properties();
        try
        {
            InputStream in = Object.class.getResourceAsStream(filePath);
            props.load(in);
            printAllProperty(props);
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }

    private static void printAllProperty(java.util.Properties props)
    {
        @SuppressWarnings("rawtypes")
        Enumeration en = props.propertyNames();
        while (en.hasMoreElements())
        {
            String key = (String) en.nextElement();
            String value = props.getProperty(key);
            System.out.println(key + value);
        }
    }

    public static void main(String[] args)
    {
        System.out.println(getProperty("com/test/configure/configure.properties", "jdbc.driverClassName"));
        getProperties("com/test/configure/configure.properties");
        System.out.println(readValue("configure/configure.properties", "jdbc.driverClassName"));
        readProperties("configure/configure.properties");
        System.out.println(getValue("/com/test/configure/configure.properties", "jdbc.driverClassName"));
        getValues("/com/test/configure/configure.properties");
    }
}

 

  

   转载请注明出处:http://xieke90.iteye.com/blog/2233046

 

0
2
分享到:
评论

相关推荐

    java 读取properties文件代码

    在Java编程中,Properties文件是一种常用的配置文件格式,用于存储应用程序的配置参数或者环境设置。这些文件通常以键值对的形式存在,例如`key=value`。读取Properties文件是Java开发中的常见操作,特别是在需要...

    java读写properties配置文件

    ### Java读写Properties配置文件详解 #### 一、引言 在Java开发中,`Properties`类被广泛用于处理各种类型的配置文件。这些文件通常包含了应用程序运行时所需的配置信息,如数据库连接信息、系统参数等。`...

    Java读取Properties文件的六种方法

    ### Java读取Properties文件的六种方法 在Java开发中,`Properties` 文件常用于存储配置信息,如数据库连接字符串、应用配置等。正确且高效地读取这些配置文件对于程序运行至关重要。本文将详细介绍六种不同的方法...

    java读写properties文件,解决系统找不到指定路径,解决写入后读取正常,但文件数据未更新问题

    总结一下,处理Java中的Properties文件时,关键是正确指定文件路径,以及在写入和读取时妥善管理文件流。确保关闭流并根据需要刷新,以避免数据丢失或未更新的问题。通过学习和实践这些解决方案,你将在Java应用开发...

    java实现properties文件读取

    本篇将深入探讨如何使用Java来实现Properties文件的读取。 首先,我们需要了解Properties类在Java中的作用。`java.util.Properties`是Java提供的一个类,它继承了`Hashtable`,主要用于处理属性列表(键/值对)。...

    java读取properties配置文件

    在Java编程中,`properties`文件是一种常用的存储配置信息的方式,它以键值对的形式组织数据,便于程序在运行时动态获取和修改配置。本文将详细介绍如何在Java中读取`properties`配置文件。 首先,我们需要了解`...

    java读取properties文件(配置文件)

    java读取properties文件的工具类,传入配置文件名字和其中的key就可以读取

    java properties文件中文转化

    当我们在properties文件中直接使用中文时,Java在读取时可能会出现乱码。为了解决这个问题,我们可以使用两种策略: 1. 文件编码转换:在写入properties文件时,使用支持中文的编码,如UTF-8。在读取时,需要指定...

    java读写properties文件,解决系统找不到指定路径,解决写入后读取正常,但文件数据未更新问题

    总结一下,处理Java中的Properties文件读写时,需要注意文件路径的准确性、文件的读写权限以及缓存问题。通过以上方法,应该能够有效解决描述中提到的问题。对于提供的"新建文本文档.txt",虽然不是Properties文件,...

    java 改变Properties文件中的键值

    在Java代码中,首先需要导入`java.util.Properties`和`java.io.*`等相关的类库,以便进行读写Properties文件的操作。 2. **加载Properties文件** 使用`Properties`类的`load()`方法加载Properties文件。这个方法...

    JAVA读取properties文件的值

    // 加载properties文件 props.load(input); } catch (IOException ex) { ex.printStackTrace(); } finally { if (input != null) { try { input.close(); } catch (IOException e) { e.printStackTrace(); ...

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

    本文将深入探讨如何在Java中解决Properties文件保存和读取中文乱码的挑战。 首先,我们需要理解Java默认使用ISO-8859-1编码来处理Properties文件。由于此编码不支持大部分中文字符,因此在保存或加载包含中文的...

    读取properties文件返回map

    在Java编程中,`properties`文件是一种常用的配置文件格式,用于存储应用的配置参数或设置。这些文件通常以键值对的形式存在,如`key=value`。本篇将详细讲解如何在Java中读取`properties`文件并将其内容转换为`Map`...

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

    在Python编程中,有时我们需要处理Java开发中常用的`.properties`配置文件。虽然Python标准库并未直接提供处理此类文件...通过这种方式,你可以灵活地读取和使用Java风格的配置文件,让Python程序更加健壮和适应性强。

    java读取properties文件

    本篇文章将深入探讨如何在Java中读取`properties`文件,无需依赖任何第三方库。 首先,我们需要了解Java的标准库中提供的`java.util.Properties`类。这个类提供了一种存储和加载属性列表的方法,它能够处理`....

    (转)java读取properties文件

    总之,Java中的`properties`文件是管理配置信息的有效方式,而`java.util.Properties`类提供了方便的API来读取和操作这些文件。通过`SysPropertiesUtil.java`这样的工具类,我们可以封装加载和获取配置的逻辑,使...

    java对properties配置文件的读和写

    在Java编程中,`properties`文件是用于存储应用程序配置信息的一种简单文本格式。这些文件通常包含键值对,其中键和值之间用等号或冒号分隔。本篇文章将详细探讨如何在Java中读取、写入、修改以及删除`properties`...

    利用Java的Properties 类读取配置文件信息

    通过以上步骤,你可以使用Java的`Properties`类高效地读取、修改和保存配置文件,为你的应用程序提供灵活的配置管理。在实际项目中,你可能会将其封装到一个单独的类,如示例代码中的`PropertiesReader`,以提供更...

    Java读取Properties文件的六种方法.txt

    ### Java读取Properties文件的六种方法 在Java开发中,`Properties`类是一个非常实用且常见的工具类,主要用于管理程序中的配置信息。通常情况下,这些配置信息会被存储在一个`.properties`文件中,并通过`...

Global site tag (gtag.js) - Google Analytics