java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式,在properties
文件中,可以用"#"来作注释,properties文件在Java编程中用到的地方很多,操作很方便。
一、properties文件
test.properties
------------------------------------------------------
#################################
# 工商报表应用IcisReport的配置文件#
# 日期:2006年11月21日 #
#################################
#
# 说明:业务系统TopIcis和报表系统IcisReport是分离的
# 可分开部署到不同的服务器上,也可以部署到同一个服务
# 器上;IcisReprot作为独立的web应用程序可以使用任何
# 的Servlet容器或者J2EE服务器部署并单独运行,也可以
# 通过业务系统的接口调用作为业务系统的一个库来应用.
#
# IcisReport的ip
IcisReport.server.ip=192.168.3.143
# IcisReport的端口
IcisReport.server.port=8080
# IcisReport的上下文路径
IcisReport.contextPath=/IcisReport
------------------------------------------------------
Properties类的重要方法
Properties 类存在于胞 Java.util 中,该类继承自 Hashtable
1. getProperty ( String key) , 用指定的键在此属性列表中搜索属性。也就是通过参数 key ,得到 key 所对应的 value。
2. load ( InputStream inStream) ,从输入流中读取属性列表(键和元素对)。通过对指定的文件(比如说上面的 test.properties 文件)进行装载来获取该文
件中的所有键 - 值对。以供 getProperty ( String key) 来搜索。
3. setProperty ( String key, String value) ,调用 Hashtable 的方法 put 。他通过调用基类的put方法来设置 键 - 值对。
4. store ( OutputStream out, String comments) , 以适合使用 load 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素
对)写入输出流。与 load 方法相反,该方法将键 - 值对写入到指定的文件中去。
5. clear () ,清除所有装载的 键 - 值对。该方法在基类中提供。
-------------------------------
二、操作properties文件的java方法
读属性文件
Properties prop = new Properties();
InputStream in = getClass().getResourceAsStream("/IcisReport.properties");
prop.load(in);
Set keyValue = prop.keySet();
for (Iterator it = keyValue.iterator(); it.hasNext();)
{
String key = (String) it.next();
}
------------------------
outputFile = new FileOutputStream(fileName);
propertie.store(outputFile, description);
outputFile.close();
-----------------------------------------------------------------------------------------
Class.getResourceAsStream ("/some/pkg/resource.properties");
ClassLoader.getResourceAsStream ("some/pkg/resource.properties");
java.util.ResourceBundle rs = java.util.ResourceBundle.getBundle("some.pkg.resource");
rs.getString("xiaofei");
-----------------------------------------------------------------------------------------
写属性文件
Configuration saveCf = new Configuration();
saveCf.setValue("min", "10");
saveCf.setValue("max", "1000");
saveCf.saveFile(".\config\save.perperties","test");
总结:java的properties文件需要放到classpath下面,这样程序才能读取到,有关classpath实际上就是java类或者库的存放路径,在java工程中,properties放到
class文件一块。在web应用中,最简单的方法是放到web应用的WEB- INF\classes目录下即可,也可以放在其他文件夹下面,这时候需要在设置classpath环境变量的
时候,将这个文件夹路径加到 classpath变量中,这样也也可以读取到。在此,你需要对classpath有个深刻理解,classpath绝非系统中刻意设定的那个系统环境变
量,WEB-INF\classes其实也是,java工程的class文件目录也是。
发个例子大家自己看哈.
package control;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.Properties;
public class TestMain {
//根据key读取value
public static String readValue(String filePath,String key) {
Properties props = new Properties();
try {
InputStream in = new BufferedInputStream (new FileInputStream(filePath));
props.load(in);
String value = props.getProperty (key);
System.out.println(key+value);
return value;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
//读取properties的全部信息
public static void readProperties(String filePath) {
Properties props = new Properties();
try {
InputStream in = new BufferedInputStream (new FileInputStream(filePath));
props.load(in);
Enumeration en = props.propertyNames();
while (en.hasMoreElements()) {
String key = (String) en.nextElement();
String Property = props.getProperty (key);
System.out.println(key+Property);
}
} catch (Exception e) {
e.printStackTrace();
}
}
//写入properties信息
public static void writeProperties(String filePath,String parameterName,String parameterValue) {
Properties prop = new Properties();
try {
InputStream fis = new FileInputStream(filePath);
//从输入流中读取属性列表(键和元素对)
prop.load(fis);
//调用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。
//强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
OutputStream fos = new FileOutputStream(filePath);
prop.setProperty(parameterName, parameterValue);
//以适合使用 load 方法加载到 Properties 表中的格式,
//将此 Properties 表中的属性列表(键和元素对)写入输出流
prop.store(fos, "Update '" + parameterName + "' value");
} catch (IOException e) {
System.err.println("Visit "+filePath+" for updating "+parameterName+" value error");
}
}
public static void main(String[] args) {
readValue("info.properties","url");
writeProperties("info.properties","age","21");
readProperties("info.properties" );
System.out.println("OK");
}
发个例子大家自己看哈.
package control;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.Properties;
public class TestMain {
//根据key读取value
public static String readValue(String filePath,String key) {
Properties props = new Properties();
try {
InputStream in = new BufferedInputStream (new FileInputStream(filePath));
props.load(in);
String value = props.getProperty (key);
System.out.println(key+value);
return value;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
//读取properties的全部信息
public static void readProperties(String filePath) {
Properties props = new Properties();
try {
InputStream in = new BufferedInputStream (new FileInputStream(filePath));
props.load(in);
Enumeration en = props.propertyNames();
while (en.hasMoreElements()) {
String key = (String) en.nextElement();
String Property = props.getProperty (key);
System.out.println(key+Property);
}
} catch (Exception e) {
e.printStackTrace();
}
}
//写入properties信息
public static void writeProperties(String filePath,String parameterName,String parameterValue) {
Properties prop = new Properties();
try {
InputStream fis = new FileInputStream(filePath);
//从输入流中读取属性列表(键和元素对)
prop.load(fis);
//调用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。
//强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
OutputStream fos = new FileOutputStream(filePath);
prop.setProperty(parameterName, parameterValue);
//以适合使用 load 方法加载到 Properties 表中的格式,
//将此 Properties 表中的属性列表(键和元素对)写入输出流
prop.store(fos, "Update '" + parameterName + "' value");
} catch (IOException e) {
System.err.println("Visit "+filePath+" for updating "+parameterName+" value error");
}
}
public static void main(String[] args) {
readValue("info.properties","url");
writeProperties("info.properties","age","21");
readProperties("info.properties" );
System.out.println("OK");
}
}
<script type="text/javascript"></script>
分享到:
相关推荐
Java操作Properties属性文件是Java开发中的常见任务,主要用于配置应用的参数或存储系统设置。`jp.gr.java_conf.ussiy.app.propedit_5.3.3.jar` 是一个专门用于编辑和管理Properties文件的工具,这使得开发者可以...
Java配置文件读取,采用单例模式加载config.properties
大家都喜欢把配置文件放在src目录下,如果有10个以上的配置文件为什么不考虑在WEB-INF目录下新建一个文件夹,专门放配置文件;这样即好管理,文件安全性又高。亲问题已经解决,把源代码共享给大家,已经通过测试;...
这是一个解决Java开发中读取配置文件每次都要重写的困惑。 特性 开箱即用,简单方便 支持JDK1.6+ 无需过多依赖,按需添加 状态 [已完成] 解析Properties配置文件 [待完成] 解析Xml配置文件 [待完成] 解析Ini配置...
"CONF_FILE_RW.rar"这个压缩包显然包含了与配置文件读写相关的资源,特别是针对"dst_conf_file"的配置参数操作。让我们深入探讨配置文件的重要性、如何读取和写入配置文件,以及在实际应用中的相关知识。 首先,...
在Java中读取Properties配置文件是一种非常常见的操作,本文将详细介绍Java简单读取Properties配置文件的方法。 Properties配置文件的读取流程: 1. 首先,创建一个Properties对象,用于存储配置文件中的信息。 2...
"Java配置文件 beta v1.0" 是一个专为处理各种格式配置文件的工具,它能够读写ini、conf、txt、properties等常见类型的配置文件,极大地提升了开发者在处理配置时的灵活性和效率。 对于配置文件的处理,Java提供了...
1. **core-site.xml**:这是Hadoop的核心配置文件,包含了与Hadoop文件系统操作相关的设置。其中最重要的是`fs.defaultFS`,它指定了默认的文件系统,通常是HDFS(Hadoop Distributed File System)的地址,如`hdfs:...
然后,为了进行文件上传,我们需要配置FastDFS的相关连接参数,如 Tracker Server 的IP地址和端口号,这些信息通常在项目的配置文件(如`application.properties`)中定义。例如: ``` fastdfs.tracker.server=192....
在Java开发中,properties文件是用来存储配置信息的关键组件,通常包含键值对,用于设置程序的环境、语言或特定功能的参数。这个插件版本为6.0.0,可能提供了增强的编辑功能和用户体验。 描述“亚洲,properties...
TongWeb,作为一款高性能、可扩展的企业级Java应用服务器,其主配置文件tongweb.doc在系统运维过程中扮演着至关重要的角色。这份文档将深入探讨TongWeb的配置文件管理、密码重置方法以及常见问题的解决方案,旨在...
"properties文件插件.rar"是一个专门针对Eclipse集成开发环境的扩展插件,它主要功能是增强对.properties配置文件的编辑和支持。这类文件通常用于存储应用程序的配置信息,如国际化(i18n)字符串、设置参数等。通过...
5. **多文件管理**:允许用户同时打开并编辑多个Properties文件,方便在多个配置文件间切换。 6. **版本控制集成**:对于开发团队来说,集成版本控制系统(如Git)的功能可以使协作变得更加流畅,可以查看历史变更...
在TongWeb7中,`conf/tongweb.properties`是一个非常关键的配置文件,它用于定义和调整TongWeb服务器的行为,特别是在处理应用程序部署时遇到的各种问题。这个文件允许管理员根据实际需求定制TongWeb的运行环境,...
Tomcat的核心配置文件之一是`server.xml`,这个文件位于Tomcat的`conf`目录下,它是Tomcat服务器的全局配置文件,定义了服务器的端口号、数据源、连接器、虚拟主机、Context等关键组件的设置。例如,你可以在这里...
Java Naming and Directory Interface (JNDI) 是Java平台中用于访问命名和目录服务的API,它为各种服务提供了一个统一...在实际操作中,只需将这个配置文件中的相应部分替换到你的Tomcat环境中,即可实现数据源的配置。
在IT开发领域,尤其是在Java环境中,资源配置文件的管理是至关重要的。"jp.gr.java_conf.ussiy.app.propedit_5.0.0 for Eclipse"是一款专为Eclipse集成开发环境设计的资源文件编辑工具,它极大地提升了开发者处理...
最开始接触spring项目时,觉得*项目中.properties配置文件还是挺好用的,虽然在最开始实用期间经常还会报错${***}等配置文件找不到,后来还是解决了。但是在后来项目业务越来越清晰,业务拆解出多个项目,正式环境,...
在Java开发中,`.properties`文件通常用来存储应用程序的配置信息,如语言设置、数据库连接参数等。这些文件最初是基于ASCII编码的,但随着全球化的发展,对支持多语言的需求增加,尤其是中文这样的多字节字符集,这...