有人已经做了这个吗?因为可以使用先生制作的JavaRB.cfc。Paul Hastings,但它提供了从属性文件中读取的可能性,而不是写入它?
问问题
955 次
2 回答
13
您可以使用底层的 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 对象中,那么上面的代码非常少
于 2012-07-10T09:51:30.293 回答
0
如果将来有人偶然发现此页面,我还找到了如何从此源中读取属性。
鱼语者的评论如下:
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")
于 2020-01-30T08:32:27.357 回答