有人已经这样做了吗? 因为可以使用由mr制作的JavaRB.cfc。 Paul Hastings,但它可以从属性文件中读取,不能写入它吗?
答案 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")