在java中一次设置属性文件中的所有属性

时间:2012-10-17 07:04:50

标签: java hadoop workflow oozie

我正在尝试为java中的oozieclient设置从属性文件中读取的属性。属性文件有10个奇数属性。有没有办法可以一次设置这些属性,而不必从文件中读取每个键值对,然后为oozieclient设置它们?

OozieClient wc = new OozieClient(http://something:1100/oozie);

Properties conf = wc.createConfiguration();
conf.setProperty("jobTracker",....);
conf.setProperty("nameNode",......);
.
.
.

有没有一种方法可以让我从属性文件中读取这些值并同时设置所有值?

2 个答案:

答案 0 :(得分:3)

您可以阅读另一个属性文件并合并两者:

OozieClient wc = new OozieClient("http://something:1100/oozie");

Properties conf = wc.createConfiguration();
Properties p = new Properties();
FileInputStream fis = new FileInputStream("myfile.properties");
p.load(fis);
conf.putAll(p);
fis.close(); // you still need to close the stream

使用 myfile.properties 文件,如:

jobTracker=foo
nameNode=bar

查看Javadoc for Properties

答案 1 :(得分:0)

查看以下API:Oracle Docs。可以为Properties上的load()操作提供对.properties FileInputSteam或FileInputReader的引用,它会将所有键值对读出到Properties-object中。