vlinDone
BlogJava
首页
新文章
新随笔
聚合
管理
posts - 33, comments - 17, trackbacks - 0
操作属性文件 读写……
1
/**/
/*
2
操作属性文件,可以为我们的程序带来更方便的移植性,下面是一个示例,可以读、写、更改属性
3
读采用了两种方式,一种是采用Properties类,另外一种是采用资源绑定类ResourceBundle类,
4
下面是源程序,里面有详细的注释:
5
*/
6
import
java.io.FileInputStream;
7
import
java.io.FileOutputStream;
8
import
java.io.InputStream;
9
import
java.util.Properties;
10
import
java.util.ResourceBundle;
11
/** */
/**
12
*对属性文件(xx.properties)的操作
13
*注:属性文件一定要放在当前工程的根目录下,也就是放在与src目录在同一个目录下(我的JDevelop
14
*是这样的)
15
*/
16
public
class
OperatePropertiesFile
{
17
public
OperatePropertiesFile()
{
18
}
19
/** */
/**
20
*采用Properties类取得属性文件对应值
21
*@parampropertiesFileNameproperties文件名,如a.properties
22
*@parampropertyName属性名
23
*@return根据属性名得到的属性值,如没有返回""
24
*/
25
public
static
String getValueByPropertyName(String propertiesFileName,String propertyName)
{
26
String s
=
""
;
27
Properties p
=
new
Properties();
//
加载属性文件读取类
28
FileInputStream in;
29
try
{
30
//
propertiesFileName如test.properties
31
in
=
new
FileInputStream(propertiesFileName);
//
以流的形式读入属性文件
32
p.load(in);
//
属性文件将该流加入的可被读取的属性中
33
in.close();
//
读完了关闭
34
s
=
p.getProperty(propertyName);
//
取得对应的属性值
35
}
catch
(Exception e)
{
36
e.printStackTrace();
37
}
38
return
s;
39
}
40
/** */
/**
41
*采用ResourceBundel类取得属性文件对应值,这个只能够读取,不可以更改及写新的属性
42
*@parampropertiesFileNameWithoutPostfixproperties文件名,不带后缀
43
*@parampropertyName属性名
44
*@return根据属性名得到的属性值,如没有返回""
45
*/
46
public
static
String getValueByPropertyName_(String propertiesFileNameWithoutPostfix,String propertyName)
{
47
String s
=
""
;
48
//
如属性文件是test.properties,那此时propertiesFileNameWithoutPostfix的值就是test
49
ResourceBundle bundel
=
ResourceBundle.getBundle(propertiesFileNameWithoutPostfix);
50
s
=
bundel.getString(propertyName);
51
return
s;
52
}
53
/** */
/**
54
*更改属性文件的值,如果对应的属性不存在,则自动增加该属性
55
*@parampropertiesFileNameproperties文件名,如a.properties
56
*@parampropertyName属性名
57
*@parampropertyValue将属性名更改成该属性值
58
*@return是否操作成功
59
*/
60
public
static
boolean
changeValueByPropertyName(String propertiesFileName,String propertyName,String propertyValue)
{
61
boolean
writeOK
=
true
;
62
Properties p
=
new
Properties();
63
InputStream in;
64
try
{
65
66
in
=
new
FileInputStream(propertiesFileName);
67
p.load(in);
//
68
in.close();
69
p.setProperty(propertyName,propertyValue);
//
设置属性值,如不属性不存在新建
70
//
p.setProperty("testProperty","testPropertyValue");
71
FileOutputStream out
=
new
FileOutputStream(propertiesFileName);
//
输出流
72
p.store(out,
""
);
//
设置属性头,如不想设置,请把后面一个用""替换掉
73
out.flush();
//
清空缓存,写入磁盘
74
out.close();
//
关闭输出流
75
}
catch
(Exception e)
{
76
e.printStackTrace();
77
}
78
return
writeOK;
79
}
80
}
81
posted on 2008-07-23 17:54
scea2009
阅读(449)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
<
2008年7月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
个人
网摘(6)
随笔档案
2008年12月 (2)
2008年8月 (1)
2008年7月 (24)
2008年6月 (1)
2008年5月 (4)
PL/SQL存储过程与函数
搜索
最新评论
1. re: 18位号码身份证校验码的计算公式[未登录]
1@邱丽娟
--李杰
2. re: 生成 JSON 字符串的工具
ddddddddd
--hls
3. re: 18位号码身份证校验码的计算公式
340621198706139338
--陆树军
4. re: 生成 JSON 字符串的工具
12121
--11112dacda
5. re: 18位号码身份证校验码的计算公式
wozhidao
--lixziyu
阅读排行榜
1. 18位号码身份证校验码的计算公式(25051)
2. 生成 JSON 字符串的工具 (4954)
3. s:select(2859)
4. 关于 Calendar.getInstance()(1408)
5. 根据输入的ISBN号,检验ISBN的有效性(1394)
评论排行榜
1. 18位号码身份证校验码的计算公式(10)
2. 根据输入的ISBN号,检验ISBN的有效性(4)
3. 生成 JSON 字符串的工具 (2)
4. 时间计算工具类(1)
5. 数据库连接(0)