码上快乐
1秒登录
首页
榜单
标签
关于
搜索
相关内容
简体
繁体
Java配置文件Properties的读取、写入与更新操作
本文转载自
查看原文
2018-10-15 13:56
2325
JDK
/
通用实践
/
开发经验
/
J2se
/
java经验集锦
/
工作总结
/**
* 实现对Java配置文件Properties的读取、写入与更新操作
*/
package
test;
import
java.io.BufferedInputStream;
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.Properties;
/**
* @author
* @version
*/
public
class
SetSystemProperty {
//属性文件的路径
static
String profilepath=
"mail.properties"
;
/**
* 采用静态方法
*/
private
static
Properties props =
new
Properties();
static
{
try
{
props.load(
new
FileInputStream(profilepath));
}
catch
(FileNotFoundException e) {
e.printStackTrace();
System.exit(-
1
);
}
catch
(IOException e) {
System.exit(-
1
);
}
}
/**
* 读取属性文件中相应键的值
* @param key
* 主键
* @return String
*/
public
static
String getKeyValue(String key) {
return
props.getProperty(key);
}
/**
* 根据主键key读取主键的值value
* @param filePath 属性文件路径
* @param key 键名
*/
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信息(主键及其键值)
* 如果该主键已经存在,更新该主键的值;
* 如果该主键不存在,则插件一对键值。
* @param keyname 键名
* @param keyvalue 键值
*/
public
static
void
writeProperties(String keyname,String keyvalue) {
try
{
// 调用 Hashtable 的方法 put,使用 getProperty 方法提供并行性。
// 强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
OutputStream fos =
new
FileOutputStream(profilepath);
props.setProperty(keyname, keyvalue);
// 以适合使用 load 方法加载到 Properties 表中的格式,
// 将此 Properties 表中的属性列表(键和元素对)写入输出流
props.store(fos,
"Update '"
+ keyname +
"' value"
);
}
catch
(IOException e) {
System.err.println(
"属性文件更新错误"
);
}
}
/**
* 更新properties文件的键值对
* 如果该主键已经存在,更新该主键的值;
* 如果该主键不存在,则插件一对键值。
* @param keyname 键名
* @param keyvalue 键值
*/
public
void
updateProperties(String keyname,String keyvalue) {
try
{
props.load(
new
FileInputStream(profilepath));
// 调用 Hashtable 的方法 put,使用 getProperty 方法提供并行性。
// 强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
OutputStream fos =
new
FileOutputStream(profilepath);
props.setProperty(keyname, keyvalue);
// 以适合使用 load 方法加载到 Properties 表中的格式,
// 将此 Properties 表中的属性列表(键和元素对)写入输出流
props.store(fos,
"Update '"
+ keyname +
"' value"
);
}
catch
(IOException e) {
System.err.println(
"属性文件更新错误"
);
}
}
//测试代码
public
static
void
main(String[] args) {
readValue(
"mail.properties"
,
"MAIL_SERVER_PASSWORD"
);
writeProperties(
"MAIL_SERVER_INCOMING"
,
"327@qq.com"
);
System.out.println(
"操作完成"
);
}
}
×
免责声明!
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。
猜您在找
Java读取.properties配置文件
Java Properties配置文件和XML配置文件读取
Java代码操作properties配置文件(读取,新增/修改,删除)
Spring的Java配置方式和读取properties配置文件
java代码读取properties配置文件实例
JAVA魔法堂:读取.properties配置文件
Java中读取.properties配置文件的通用类
Java 读取 .properties 配置文件的几种方式
Java程序读取tomcat下的properties配置文件
Java从后缀为properties配置文件读取值
粤ICP备18138465号
© 2018-2025 CODEPRJ.COM