`

Java的多种方式读写Properties文件

阅读更多

我们从Properties文件中读取文件,其中文件可能在指定的目录中如D:/PROGRAM BACK/DEVELOPMENT TOOLS/Program files/eclipseEE3.4.1/workspace/WebTest1.0/src/com/shopping/eus/property/sys.properties:,

也可能是在我们定义的某一个包中如:com.shopping.eus.property.sys

注意包名为:com.shopping.eus.property下面有个sys.properties文件;

 

总体来说要理解的是:Properties是Hashtable的一个子类,所以他不但有自己的方法可用也可使用Hashtable的方法,

本身的setProperty(String key,String value)与Hashtable的put(Object key,Object value)都可用。又如getProperty与get方法。

 

另外:要从Properties文件中读出某一个值,必须先加载或将整个文件中的键和值都读入Properties对象中或者直接说是Hashtable中。所以从文件中读取可以采用load方法,而对于我们更方便的一种方式是从我们开发的某一个包中读取则可用到PropertyResourceBundle方法的getBundle,并读出所有键和值再set进去便可了。

具体看一下源代码吧。:

 

package com.shopping.eus.util;

import java.util.Properties;

public class SysProp {

	private static Properties sysProperty = null;

	public static String getProperty(String key) {

		return getProperty(key, "");
	}

	public static String getProperty(String key, String defaultValue) {

		if (sysProperty == null) {
			sysProperty = PropertyUtil
					.getPropObjFromBundle("com.shopping.eus.property.sys");
		}
		if (sysProperty == null) {
			sysProperty = PropertyUtil
					.getPropObjFromFile("D:/PROGRAMBACK/DEVELOPMENTTOOLS/ProgramFiles/eclipseEE3.4.1/workspace/WebTest1.0/src/com/shopping/eus/property/sys.properties");
		}
		return sysProperty.getProperty(key, defaultValue);
	}

	public static void main(String[] args) {
		SysProp.getProperty("userName");
		System.out.println(SysProp.getProperty("userName"));
	}

}

 

 

 

package com.shopping.eus.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.Properties;
import java.util.PropertyResourceBundle;

public class PropertyUtil {

	public static Properties getPropObjFromBundle(String bundleName) {

		Properties objProp = new Properties();

		PropertyResourceBundle bundle = (PropertyResourceBundle) PropertyResourceBundle
				.getBundle(bundleName);
		Enumeration enm = bundle.getKeys();
		while (enm.hasMoreElements()) {
			String key = (String) enm.nextElement();
			String value = bundle.getString(key);
			objProp.setProperty(key, value);

		}
		return objProp;
	}

	public static Properties getPropObjFromFile(String filePath) {
		Properties objProp = new Properties();

		File file = new File(filePath);
		InputStream inStream;
		try {
			inStream = new FileInputStream(file);
			objProp.load(inStream);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

		return objProp;
	}

}

 基本上这两种方法可以满足我们从Properties读取了,理解起来也不难。当然具体使用时是要改进一下的。

分享到:
评论

相关推荐

    Java Properties 解决中文乱码和顺序读写.docx

    读取 Properties 文件有多种方式,其中两种常见的是: - 使用`Class.getResourceAsStream(String name)`:通过类路径读取资源文件。 - 使用`ClassLoader.getResourceAsStream(String name)`:通过类加载器读取资源...

    解决Properties写中文乱码

    1. **设置Java程序读写Properties时的编码**:在使用`Properties.load()`和`Properties.store()`方法读写Properties文件时,可以传入一个`java.io.InputStream`或`java.io.OutputStream`对象,并通过`...

    Java读写ini文件代码示例

    Java语言可以通过多种方式来读写ini文件,本文将详细介绍Java读写ini文件代码示例。 Ini文件简介 Ini文件是一种轻量级的配置文件格式,由于其简洁易用,ini文件广泛应用于各种软件和系统中。Ini文件的主要特点是:...

    Birt改变properties文件,在报表的initialize函数中

    在BIRT报表脚本中,首先需要导入处理properties文件所需的Java包,如`java.util.Properties`用于管理属性集,`java.io.File`和`java.io.FileInputStream`以及`java.io.FileOutputStream`用于文件读写操作。...

    java 对于文件的读写操作

    在Java编程语言中,文件的读写操作是日常开发中不可或缺的部分。无论是处理配置文件、存储数据还是与其他系统交换信息,文件操作都是基础且重要的。本篇将详细讲解基于给定的`ReadAndPrintXMLFile.java`、`...

    Java中的几种读取properties配置文件的方式

    在Java中,读取properties配置文件有多种方式,本文将详细介绍其中的六种方式。 方式一:使用Properties类读取 Properties类继承自Hashtable类并且实现了Map接口,用于存储键值对形式的属性集。读取properties文件...

    加载配置文件的方式(java[Properties,InputStream]与apache-commons-configuration组件)

    `Properties`类是Java中处理配置文件的标准工具,它主要用于读写键值对。以下是如何使用`Properties`和`InputStream`加载配置文件的步骤: 1. **使用Properties类**: - 创建`Properties`对象。 - 使用`...

    java配置文件 beta v3.0

    properties文件是Java特有的配置文件格式,主要用于存储键值对,它以.properties为扩展名。这种格式简洁且易于读写,特别适合存储程序中的本地化字符串或系统属性。Java内置的Properties类提供了加载和保存...

    java配置文件 beta v1.0

    对于配置文件的处理,Java提供了一些内置的类,如`java.util.Properties`,用于处理.properties文件。但这个工具显然扩展了这一功能,支持自定义标签和语法,这意味着开发者可以根据项目的特定需求定义自己的配置...

    读取配置文件代码

    总结起来,Java提供了多种方式来读取配置文件,包括使用`Properties`类处理.properties文件以及DOM、SAX或JAXB解析器处理.xml文件。了解这些方法可以帮助开发者更好地管理应用程序的配置信息,提高代码的可维护性和...

    javaIO案例

    Java IO 是Java平台中用于处理输入输出操作的重要部分,它提供了丰富的类库,使得开发者能够高效地读写数据,无论是从文件、网络还是系统进程。在这个"javaIO案例"中,我们关注的是如何使用核心的Java IO类,如`...

    MyManagerFileAndroid文件读写操作(源码)

    Android提供了多种存储方式,包括内部存储、外部存储(SD卡)、SQLite数据库、SharedPreferences和ContentProvider等。内部存储对于应用私有的数据,外部存储则允许共享数据。`MyManagerFileAndroid`可能会涵盖这两...

    Eclipse插件之properties编辑器.rar

    Properties编辑器插件为开发者提供了更高效、便捷的方式来管理和编辑.properties文件。以下是一些关键知识点: 1. **Properties文件格式**:.properties文件由键值对组成,每行表示一个键值对,键和值之间用等号(=)...

    java串口通讯协议Rs232相关文件.rar

    3. **javax.comm.properties**:这个文件是RXTX库的配置文件,它定义了库在不同操作系统下的配置参数,比如串口名称、波特率等。在使用RXTX库时,这个文件通常需要放在系统的CLASSPATH中,以便库能找到正确的配置...

    java读写xml和用javamail收发邮件

    在本文中,我们将深入探讨Java如何实现XML的读写操作以及使用JavaMail API进行邮件收发。 首先,让我们看看Java如何处理XML文件。XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它具有...

    Java关于中文乱码问题的多种解决方法

    在Java编程中,中文乱码问题是一个常见的困扰,尤其是在处理文件读写、网络传输或数据库操作时。本文将深入探讨几种解决Java中中文乱码问题的方法,并以MyEclipse为开发环境,结合实际示例进行讲解。 1. 文件读写中...

    watermark_java_

    通过以上分析,我们可以看到"watermark_java_"项目涵盖了Java图像处理的基本技术,包括图像读写、合成、GUI创建、文件I/O以及异常处理等方面的知识。这个项目对于学习Java图像处理和开发相关工具的开发者来说是一个...

    解析XML和Propertites配置文件

    4. **commons-io-1.2.jar**:包含各种I/O操作的工具类,如文件读写,可能用于读取和写入XML或Properties文件。 5. **commons-logging.jar**:提供一个通用的日志接口,可以适配多种日志实现,用于记录解析过程中的...

    Java基础11-(字节流、字符流)

    load()方法可以用于从输入流中加载属性列表(键和元素对),通常这个输入流指向一个配置文件,例如.properties文件。这个方法特别有用,比如当我们需要根据配置文件中的信息来初始化程序的某些参数时。 综上所述,...

    JAVA文件夹浏览器

    `exists()`检查文件或目录是否存在,`isDirectory()`判断是否为目录,`canRead()`和`canWrite()`检查读写权限,`open()`或`new FileInputStream()`用于打开文件。 2. **文件遍历**:实现文件夹遍历,通常采用递归的...

Global site tag (gtag.js) - Google Analytics