用coldfusion写.properties文件

时间:2012-07-10 09:21:37

标签: java properties coldfusion

有人已经这样做了吗? 因为可以使用由mr制作的JavaRB.cfc。 Paul Hastings,但它可以从属性文件中读取,不能写入它吗?

2 个答案:

答案 0 :(得分:12)

您可以使用基础Java Properties类轻松完成此任务:

<cfscript>
fos = CreateObject("java","java.io.FileOutputStream").init(ExpandPath("out.properties"));
props = CreateObject("java","java.util.Properties");

props.setProperty("site","stackoverflow.com");
props.setProperty("for","Stephane");

props.store(fos,"This is a properties file saved from CF");
</cfscript>

虽然属性文件的格式非常简单,但您也可以使用ColdFusion文件函数来编写属性文件:

<cfscript>
props={"site"="stackoverflow.com","for"="Stephane"};
crlf=chr(13) & chr(10);

propFile = FileOpen(ExpandPath("out2.properties"),"write");
FileWrite(propFile,"##This is a properties file saved from CF" & crlf );
for(prop in props){
    FileWrite(propFile,prop & "=" & props[prop] & crlf);
}
FileClose(propFile);
</cfscript>

可能归结为存储数据的位置。如果它在结构中,则使用CF可能更容易。如果它在Java Properties对象中,则上面的代码非常小

答案 1 :(得分:0)

如果将来有人偶然发现此页面,我还发现了如何从this source读取属性。

fishwhisprerer的评论如下:

Using Java in this scenario could be more efficient:

#myproperties
key=value

<cfscript>
props = createObject("java","java.util.Properties");
inputStream = createObject("java","java.io.FileInputStream").init(expandPath("my.properties"));
props.load(inputStream);
</cfscript>

Then anywhere below this:

props.getProperty("key")