先贴出代码,有空再来写说明。
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
public class SingleProperty {
private Properties prop = null;
private InputStream in = null;
private OutputStream os;
private String path;
public SingleProperty(String path) {
this.path = path;
initProperty();
}
public SingleProperty() {
prop = new Properties();
}
public void setPath(String path) {
try {
in = new FileInputStream(this.path);
} catch (FileNotFoundException ex) {
}
}
private void initProperty() {
try {
prop = new Properties();
//System.getProperty("user.dir") 获得项目所在位置路径,如 F:\zgh\netbeanspace\ClientTest
//path=conf/config.properties 此位置为项目所在路径下的conf/config.properties文件路径,conf与lib并列
in = new FileInputStream(this.path);
} catch (FileNotFoundException ex) {
}
}
private void setIs() {
try {
if (in == null) {
in = new FileInputStream(this.path);
}
} catch (IOException ex) {
}
}
private void setOs() {
try {
os = new FileOutputStream(this.path); //"src/org/lt/cj/config/config.properties"
} catch (FileNotFoundException ex) {
}
}
//获取所有属性
public Properties getProperty() {
try {
setIs();
prop.load(in);
} catch (IOException ex) {
}
return prop;
}
//获取属性值
public String getValue(String key) {
String value = "";
try {
setIs();
prop.load(in);
value = prop.getProperty(key);
} catch (IOException ex) {
}
return value;
}
//将Map的键值对添加到配置文件,值允许用空字符
public void addProperty(Map<String, String> map, String comments) {
try {
setIs();
prop.load(in);
setOs();
Set keys = map.keySet();
for (Iterator it = keys.iterator(); it.hasNext();) {
String key = (String) it.next();
String value = map.get(key);
prop.setProperty(key, value);
}
prop.store(os, comments);
} catch (IOException ex) {
}
}
//修改属性值
public void setProperty(String key, String value) {
prop.setProperty(key, value);
}
//保存配置文件
public void store(String comments) {
try {
setOs();
prop.store(os, comments);
} catch (IOException ex) {
}
}
//删除key所指向的属性值
public void deleteProperty(String key, String comments) {
try {
setIs();
prop.load(in);
prop.remove(key);
setOs();
prop.store(os, comments);
} catch (IOException ex) {
}
}
//关闭读配置文件的IO
public void endAndcloseIO() {
try {
if (os != null) {
os.flush();
os.close();
}
if (in != null) {
in.close();
}
} catch (IOException ex) {
}
}
//打印配置文件中的所有属性
public void printMap(Map map) {
Set keys = map.keySet();
for (Iterator it = keys.iterator(); it.hasNext();) {
Object key = it.next();
Object value = map.get(key);
System.out.println(key + "==" + value);
}
}
public static void main(String[] args) throws Exception {
SingleProperty p = new SingleProperty("src/com/test/config.properties");
Map<String, String> map = new HashMap<String, String>();
map.put("myParam", "hello");
map.put("parameter2", "Hi,nice to meet you.");
p.addProperty(map, "修改配置参数");
}
}
分享到:
相关推荐
### C#操作Properties,读写配置文件 在C#编程中,经常需要处理应用程序的配置信息,例如数据库连接字符串、用户界面的语言设置等。这些配置信息通常存储在配置文件中,便于程序运行时动态加载和修改。C#提供了一种...
### Java读写Properties配置文件详解 #### 一、引言 在Java开发中,`Properties`类被广泛用于处理各种类型的配置文件。这些文件通常包含了应用程序运行时所需的配置信息,如数据库连接信息、系统参数等。`...
实际使用这个类时,首先确定配置文件的路径,然后创建`Properties`类的实例,最后调用`getProperties`方法获取配置字典: ```python import sys fileName = sys.path[0] + '\\' + 'system.properties' p = ...
cout打开配置文件失败"; getchar(); return 0; } cprop.load(); vector<string> vec = cprop.read("key3"); for (int i=0; i();i++) { cout[i].c_str(); } cprop.close();*/ /*写操作 CProperties cprop_write; ...
本文将详细介绍如何在Java中读取`properties`配置文件。 首先,我们需要了解`properties`文件的格式。一个标准的`.properties`文件通常包含多个行,每行由一个键和一个值组成,它们之间用等号(`=`)或冒号(`:`)...
读取properties配置文件** 在Java中读取`properties`文件通常涉及以下步骤: 1.1.1 创建`Properties`对象:`Properties`类是Java提供的内置类,用于处理`properties`文件中的键值对。 ```java Properties ...
在Java编程语言中,Properties文件是一种常见的存储配置信息的方式,它们通常用于保存应用程序的设置、数据库连接字符串等数据。Properties文件以键值对的形式组织,其中键和值之间用等号(=)或冒号(:)分隔。在本...
YAML (YAML Ain't Markup Language) 是一种易于读写的语言,特别适合于配置文件。在提供的示例中,我们看到了一个`application.yml`文件的部分内容,其中定义了自定义的属性和值: ```yaml myYml: simpleProp: ...
"easconfig 配置文件读写"是一个针对XML格式和属性文件(.properties)进行高效管理的工具,它提供了便捷的配置读取和写入功能,使得开发者能更轻松地处理这些配置信息。 首先,让我们深入理解XML配置文件。XML,...
通过这样的工具类,开发者可以方便地加载和获取配置文件中的属性值,避免重复编写相同的代码。下面我们将详细探讨`properties`文件、如何创建工具类以及如何使用此类进行文件读取。 1. **什么是.properties文件** ...
总结来说,`YmlUtil.java`和`PropertiesUtil.java`是Java开发中的实用工具类,它们简化了YAML和Properties配置文件的读取和修改过程,提高了代码的可维护性和灵活性。理解和使用这些工具类,对于提升Java项目管理...
Properties类与Properties配置文件 Properties类主要用于读取和写入.properties格式的配置文件。这种文件格式简单、易于理解和编辑,常被用来存储应用的配置参数,如数据库连接信息、系统环境变量等。 ### 2. ...
在Java编程中,管理应用程序的配置信息是一项常见的任务。这些配置信息通常存储在文本...在实际开发中,为了提高代码的可维护性和可扩展性,通常会封装成工具类或者服务,提供更高级别的接口来处理配置文件的读写操作。
一般文件以及配置文件的读写操作: 包括一般text文件的读取,以及properties文件的读写操作
根据给定文件的信息,我们可以总结出...总结以上内容,我们了解了如何在 Java 中使用 `Properties` 类进行配置文件的读写操作,以及如何使用 DOM 解析器来处理 XML 文件。这些技术是开发过程中经常用到的基本技能之一。
Java自带的Properties不好用,自己写了一个直接读写类,支持配置文件描述,支持对像值的描述,支持指定文件编码(默认UTF-8)
总结来说,Java中的Properties类是管理配置文件的关键工具,它提供了一套完整的API来读取、写入和操作键值对。掌握这部分知识对于任何Java开发者来说都是至关重要的,因为配置文件在软件开发中扮演着不可或缺的角色...
在Java编程中,读写`.properties`文件是一个常见的任务,这些文件通常用于存储配置信息、设置或环境变量。本文将深入探讨如何在Java中高效地处理`.properties`文件,包括读取、写入以及更新其内容。我们将参考提供的...
"CONF_FILE_RW.rar"这个压缩包显然包含了与配置文件读写相关的资源,特别是针对"dst_conf_file"的配置参数操作。让我们深入探讨配置文件的重要性、如何读取和写入配置文件,以及在实际应用中的相关知识。 首先,...
`java.util.Properties`类继承自`Hashtable`,用于存储键值对,常用于处理.properties格式的配置文件。这些文件通常以ASCII编码保存,但为了支持中文,我们需要确保使用UTF-8编码。 1. **配置文件读取**: - 使用`...