jam
BlogJava
首页
新随笔
联系
聚合
管理
随笔-9 评论-15 文章-1 trackbacks-0
java写properties文件的方法
用Java写properties文件时,如果直接用setProperties和store方法往FileOutputStream写,写出来的东西面目全非了。没有正确的格式。因此我使用了这个方法来写,一行一行的读。一行一行地写。
1
/**/
/*
*
2
* write property.
3
* @param title parameter defined in properties file
4
* @param key parameter defined title value
5
* @return String return value
6
*/
7
String writeProp(String filePath, String fileName, String title, String key,
8
Logger logger)
{
9
10
String strResult
=
""
;
11
String pathAddFile
=
""
;
//
write file with path and name
12
String tempFile
=
""
;
13
String strTemp
=
""
;
//
use for identify if the modify is success
14
//
filePath is null the file in the default path ,else file in the filePath+\+fileName
15
if
(filePath.equals(
""
))
{
16
pathAddFile
=
fileName;
17
tempFile
=
"
temp.properties
"
;
18
}
19
else
{
20
pathAddFile
=
filePath
+
systemSeparator
+
fileName;
21
tempFile
=
filePath
+
systemSeparator
+
"
temp.properties
"
;
22
}
23
//
properties file
24
File aFile
=
new
File(pathAddFile);
25
//
temp file
26
File tFile
=
new
File(tempFile);
27
if
(
!
aFile.exists())
{
31
strResult
=
"
error
"
;
32
return
strResult;
33
}
34
//
set property to properties
35
try
{
36
FileReader fr
=
new
FileReader(pathAddFile);
37
38
BufferedReader br
=
new
BufferedReader(fr);
39
try
{
40
FileWriter fw
=
new
FileWriter(tempFile);
41
PrintWriter
out
=
new
PrintWriter(fw);
42
43
String strLine
=
br.readLine().trim();
44
while
(strLine
!=
null
)
{
45
//
identify if strLine have title,have change key
46
if
(strLine.startsWith(title))
{
47
strLine
=
title
+
"
=
"
+
key;
48
strTemp
=
"
1
"
;
49
}
50
out
.write(strLine);
51
out
.println();
52
out
.flush();
53
//
read next line
54
strLine
=
br.readLine();
55
}
56
fw.close();
57
out
.close();
58
//
close BufferedReader object
59
br.close();
60
//
close file
61
fr.close();
62
//
delete properties file
63
if
(aFile.exists())
{
64
if
(
!
aFile.delete())
{
68
return
"
error
"
;
69
}
70
}
71
//
rename temp file to properties file
72
if
(
!
tFile.exists())
{
76
return
"
error
"
;
77
}
78
tFile.renameTo(aFile);
79
if
(
!
strTemp.equals(
"
1
"
))
{
80
//
there is no title prop exit so modify failed
85
strResult
=
"
error
"
;
86
87
}
88
return
strResult;
89
}
90
catch
(IOException ex2)
{
91
ex2.printStackTrace();
92
strResult
=
"
error
"
;
93
logger.fatal(
94
"
CmnEToyotaExtractProp ----- writeProp ----- failed !
"
);
95
return
strResult;
96
97
}
98
}
99
catch
(FileNotFoundException ex1)
{
100
ex1.printStackTrace();
103
strResult
=
"
error
"
;
104
return
strResult;
105
}
106
107
}
该方法实现了对属性文件参数的修改。
posted on 2005-08-02 15:41
jam
阅读(5173)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
<
2005年8月
>
日
一
二
三
四
五
六
31
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
10
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔档案
2005年8月 (9)
文章档案
2005年10月 (1)
搜索
最新评论
1. re: EJB介绍
太强大了,谢谢你。能交个朋友吗,我的QQ是:343827585,希望能有机会跟你交流技术相关的东西。
--笨程序员
2. re: eclipseUML 安装
评论内容较长,点击标题查看
--GY
3. re: java面试题之一
评论内容较长,点击标题查看
--jixinz
4. re: java面试题之一
恩 5楼的很好,,,很强大```
--暗暗
5. re: eclipseUML 安装
被脑抽的电信封了...
--li.guofu
阅读排行榜
1. java面试题之一(6798)
2. java写properties文件的方法(5173)
3. EJB介绍(2223)
4. Java中实现对UTF8转换的实现方法(1642)
5. xml面试方面问题(1326)
评论排行榜
1. java面试题之一(8)
2. EJB介绍(1)
3. 随便写一个,java生成随机数字(1)
4. Java中实现对UTF8转换的实现方法(0)
5. java写properties文件的方法(0)