有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我试图为java中的oozieclient设置从属性文件读取的属性。属性文件有10多个属性。有没有一种方法可以一次设置所有属性,而不必从文件中读取每个键值对,然后为oozieclient设置它们

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

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

与此相反,是否有一种方法可以从属性文件中读取这些值并一次性设置所有值


共 (2) 个答案

  1. # 1 楼答案

    您可以读取另一个属性文件并合并这两个文件:

    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。属性如:

    jobTracker=foo
    nameNode=bar
    

    看看Javadoc for Properties

  2. # 2 楼答案

    检查以下API:Oracle Docs。可以为属性上的load()操作提供对的引用。属性FileInputSteam或FileInputReader,它会将所有键值对读取到properties对象中