`
屌丝学Java
  • 浏览: 29822 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Properties文件读取操作

    博客分类:
  • Java
 
阅读更多
package com.cmccsi.framework.util;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.Iterator;
import java.util.Properties;
import java.util.Map.Entry;
/**
 * 对属性文件操作的工具类
 * 获取,新增,修改
 * 注意:	以下方法读取属性文件会缓存问题,在修改属性文件时,不起作用,
 * InputStream in = PropertiesUtils.class.getResourceAsStream("/config.properties");
 * 解决办法:
 * String savePath = PropertiesUtils.class.getResource("/config.properties").getPath();
 */
public class PropertiesUtils {
	/**
	 * 获取属性文件的数据 根据key获取值
	 * @param fileName 文件名 (注意:加载的是src下的文件,如果在某个包下.请把包名加上)
	 * @param key
	 * @return
	 */
	public static String findPropertiesKey(String key) {
		
		try {
			Properties prop = getProperties();
			return prop.getProperty(key);
		} catch (Exception e) {
			return "";
		}
		
	}

	public static void main(String[] args) {
		Properties prop = new Properties();
		InputStream in = PropertiesUtils.class
				.getResourceAsStream("/config.properties");
		try {
			prop.load(in);
			Iterator<Entry<Object, Object>> itr = prop.entrySet().iterator();
			while (itr.hasNext()) {
				Entry<Object, Object> e = (Entry<Object, Object>) itr.next();
				System.err.println((e.getKey().toString() + "" + e.getValue()
						.toString()));
			}
		} catch (Exception e) {
			
		}
	}

	/**
	 * 返回 Properties
	 * @param fileName 文件名 (注意:加载的是src下的文件,如果在某个包下.请把包名加上)
	 * @param 
	 * @return
	 * @throws UnsupportedEncodingException 
	 */
	public static Properties getProperties() throws UnsupportedEncodingException{
		Properties prop = new Properties();
		String savePath = PropertiesUtils.class.getResource("/config.properties").getPath();
		savePath= java.net.URLDecoder.decode(savePath,"utf-8");
		//以下方法读取属性文件会缓存问题
//		InputStream in = PropertiesUtils.class
//				.getResourceAsStream("/config.properties");
		try {
			InputStream in =new BufferedInputStream(new FileInputStream(savePath)); 
			//InputStream in = PropertiesUtils.class.getResourceAsStream("/config.properties");
			prop.load(in);
		} catch (Exception e) {
			return null;
		}
		return prop;
	}

	public static Properties getjdbcProperties() throws UnsupportedEncodingException{
		Properties prop = new Properties();		
		
		String savePath = PropertiesUtils.class.getResource("/jdbc.properties").getPath();
		savePath= java.net.URLDecoder.decode(savePath,"utf-8");
		
		//以下方法读取属性文件会缓存问题
//		InputStream in = PropertiesUtils.class
//				.getResourceAsStream("/config.properties");
		try {
			InputStream in =new BufferedInputStream(new FileInputStream(savePath));  
			//InputStream in =PropertiesUtils.class.getResourceAsStream("/jdbc.properties");
			prop.load(in);
			in.close();
		} catch (Exception e) {
			return null;
		}
		return prop;
	}
	/**
	 * 写入properties信息
	 * 
	 * @param key
	 *            名称
	 * @param value
	 *            值
	 */
	public static void modifyProperties(String key, String value) {
		try {
			// 从输入流中读取属性列表(键和元素对)
			Properties prop = getProperties();
			prop.setProperty(key, value);
			String path = PropertiesUtils.class.getResource("/config.properties").getPath();
			FileOutputStream outputFile = new FileOutputStream(path);
			prop.store(outputFile, "modify");
			outputFile.close();
			outputFile.flush();
		} catch (Exception e) {
		}
	}
}
分享到:
评论

相关推荐

    properties文件读写

    properties文件读写操作

    c#操作properties,读写配置文件

    ### C#操作Properties,读写配置文件 在C#编程中,经常需要处理应用程序的配置信息,例如数据库连接字符串、用户界面的语言设置等。这些配置信息通常存储在配置文件中,便于程序运行时动态加载和修改。C#提供了一种...

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

    本篇文章将详细探讨如何通过Python来读取并解析`.properties`配置文件。 首先,了解`.properties`文件的格式。这种文件通常用于存储配置信息,其中键值对以等号`=`分隔,每一行代表一个键值对,注释以`#`或`!`开始...

    读取properties文件返回map

    1. **properties文件结构** `properties`文件的结构非常简单,每行代表一个键值对,键和值之间用等号`=`或冒号`:`分隔。例如: ``` username=admin password=123456 database.url=jdbc:mysql://localhost:3306/...

    Properties文件读写;Property文件读写;Property

    这意味着读写操作应该是原子性的,或者在必要的时候使用同步控制。 通过使用`PropertyUtil.java`这样的工具类,开发人员可以避免编写重复的代码,更专注于业务逻辑,而不用关心底层的文件I/O细节。此外,良好的封装...

    java 读取properties文件代码

    读取Properties文件是Java开发中的常见操作,特别是在需要根据配置文件动态改变程序行为的时候。下面我们将详细探讨如何在Java中读取Properties文件。 首先,你需要确保你的项目中包含了一个Properties文件,比如`...

    properties文件的读取

    以下是一个简单的`properties`文件读取的步骤和示例: 1. **创建properties文件** 创建一个名为`config.properties`的文件,内容如下: ``` username=admin password=123456 database.url=jdbc:mysql://...

    写入properties文件时间并且读出时间

    2. **从properties文件读取时间**: - 创建`Properties`对象并加载文件,可以使用`load`方法从`InputStream`读取。 - 获取键对应的值,这里我们使用`getProperty`方法。例如: ```java Properties props = new ...

    Properties 文件比较工具

    `diffProperties.java`文件很可能是这个工具的主要实现部分,它可能包含了读取两个properties文件,比较其内容并显示差异数目的逻辑。在Java中,我们可以使用`Properties`类的`entrySet()`方法获取所有键值对,然后...

    读取properties文件工具类

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

    java读写properties配置文件

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

    excel与properties文件相互转换

    - 首先读取Properties文件,解析每行的键值对 - 在Excel中创建一个新的工作表,设置两列,一列作为键,一列作为值 - 使用编程语言将解析出的键值对填入Excel文件。例如,使用Python的`pandas`库,可以创建...

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

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

    读取properties返回map并写入文件

    总结来说,读取.properties文件并将其内容转化为Map对象,以及将Map对象写回文件的过程,是Java开发中的常见操作。这使得我们可以方便地管理配置信息,并允许在不同环境间灵活切换配置。在实际项目中,可以进一步...

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

    在处理Properties文件时,可能会遇到几个常见的问题,包括找不到指定路径、读取正常但文件数据未更新的情况。以下是对这些问题的详细解答。 首先,让我们解决“系统找不到指定路径”的问题。在Java中,加载...

    读取.properties文件

    使用`Properties`类可以方便地读取和操作这些文件,而现代IDE和版本控制系统则提供了强大的辅助功能,以提高开发效率和代码质量。在实际应用中,应考虑使用框架提供的高级特性,以实现更灵活和自动化的配置管理。

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

    以下是如何利用`Properties`类读取和操作`.properties`文件的详细步骤。 1. **创建或加载Properties对象** 首先,你需要创建一个`Properties`对象来保存配置文件中的数据。这个对象可以为空,然后通过`load()`方法...

    java对properties文件的操作

    下面将详细讲解如何在Java中进行Properties文件的操作,包括读取、修改和保存。 首先,`Properties`是Java中的一个类,位于`java.util`包下,它专门用来处理属性列表,这些属性可以是从流中加载或保存到流中。`...

    读取以及修改properties文件

    - 为了代码的可维护性和可重用性,可以创建一个工具类,封装Properties的读写操作。这样在项目中只需调用相应的静态方法即可。 ```java public class PropertiesUtil { public static String getProperty(String...

    java 改变Properties文件中的键值

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

Global site tag (gtag.js) - Google Analytics