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属性文件jp.gr.java_conf.ussiy.app.propedit_5.3.3.jar, 有实现步骤及操作中文例子
Java配置文件读取,采用单例模式加载config.properties
大家都喜欢把配置文件放在src目录下,如果有10个以上的配置文件为什么不考虑在WEB-INF目录下新建一个文件夹,专门放配置文件;这样即好管理,文件安全性又高。亲问题已经解决,把源代码共享给大家,已经通过测试;...
这是一个解决Java开发中读取配置文件每次都要重写的困惑。 特性 开箱即用,简单方便 支持JDK1.6+ 无需过多依赖,按需添加 状态 [已完成] 解析Properties配置文件 [待完成] 解析Xml配置文件 [待完成] 解析Ini配置...
最开始接触spring项目时,觉得*项目中.properties配置文件还是挺好用的,虽然在最开始实用期间经常还会报错${***}等配置文件找不到,后来还是解决了。但是在后来项目业务越来越清晰,业务拆解出多个项目,正式环境,...
java配置文件助手(能读写ini,conf,txt,properties等任意格式的配置文件),文件内容支持自定义标签及语法.如需源代码,请联系我:mak0000@msn.com whsvc
java 文件检索 搜索 word excel ppt xls pdf autocad http操作控制 windows 2003 search index不好用,自娱自乐写了一个。 只提供使用,源码出售另请联系 可用于毕业设计 在安装前配置 searchFileService.conf ...
conf 本地配置注解获取 说明 version 1.3 ...新增了自定义配置文件,使用注解ConfSource(""),指定配置文件路径,默认为classpath:configer.properties version 1.0 本项目主要用于帮助开发者可以更快更方便
或者通过Tomcat下的conf文件夹中的配置文件来配置虚拟目录访问。 2、配置SVN仓库地址:将解压后的config.Properties文件打开修改对应的配置项: fileDir=路径为SVN服务器的仓库路径 authz=权限配置文件名 passwd=...
支持语音、截图、文本、文件、图片、表情等多媒体类型,方便聊天 支持不同的网站访问不同的坐席技能组,提供针对性的服务 系统自动识别来访客户,区分身份,实现针对性服务 支持高等级用户优先接入,实现提供VIP优先...
本工程为MyEclipse中的java web...步骤:将“安装的软件”中的软件转到本地计算机,然后将其安装的路径在conf.properties文件配置一下(如何配置请参见上面对于conf.properties文件的说明)即可运行该java web工程。
tomcat支持采用log4j进行日志记录,配置方法如下: 1.更新最新的tomcat_juli.jar包到./bin/目录下; 2.拷贝log4j.jar,lo4j.properties到./lib目录下; 3.删除./conf/logging.properties 4.重启 log4j配置样本 实例...
TongWeb常见问题处理,用于运维的问题处理,便于解决应用部署时遇到的各种问题..
OA-Seeyou note致远OA数据库配置文件致远OA数据库配置文件:/opt/Seeyon/A8/base/conf/datasourceCtp.propertiesctpDataSource.minCount=50mysql.backup.path=db.hibernateDialect=org.hibernate.dialect....
配置文件地址 conf/application.properties #database settings jdbc.url=jdbc:mysql://localhost:3306/dwsurvey?useUnicode=true&characterEncoding=utf8 jdbc.username=root jdbc.password=123456,. 分别修改``...
具体的备份参数在 conf/properties_2005_filesbackup.properties 文件中配置。 不用你每天备份。而且是增量的,你可以设置隔几天,如7天一次全备份,中间的时间采用只备份修改的,减少空间占用。 全备份的文件名...
自定义一个 配置文件读取器,读取并解析配置信息。 3.发送请求并保存结果 使用Apache HttpClient执行请求,然后保存每个请求的执行结果到 集合中。 4.生成报表 ApachePOI 生成Excel2007(.xlsx)报表,每...
配置文件地址 conf/application.properties #database settings jdbc.url=jdbc:mysql://localhost:3306/dwsurvey?useUnicode=true&characterEncoding=utf8 jdbc.username=root jdbc.password=123456,. 分别修改``...
编辑工具目录中的conf/mvnd.properties配置文件,修改maven.settings属性值为你本地使用的maven配置,这样可以复用maven配置,不用再重新下载一堆儿jar包了 注意使用linux下的路径分隔符/; 配置mvnd可执行文件到...
maven 搭建nexus私服仓库,解压压缩文件放到D盘下,配置环境量,修改配置文件中D:\nexus-2.12.0-01-bundle\nexus-2.12.0-01\bin\jsw\conf\wrapper.conf中的wrapper.java.command=D:\application\java\1.8\jdk\bin\...