'How to implement Configurations class in Java?

I am using this example to read from configuration file (data such as host name, password, etc) . But they did not include the Configurations class itself.

So I am not really sure how that should be implemented.

Here is how I am trying to read the properties from Main class:

Configurations configs = new Configurations(); // Error: cannot find symbol symbol: class Configurations location: class Main
try {
    Configuration config = configs.properties(new File("database.properties"));
    String dbHost = config.getString("database.host");
    int dbPort = config.getInt("database.port");
    String dbUser = config.getString("database.user");
    String dbPassword = config.getString("database.password", "secret");  // provide a default
    long dbTimeout = config.getLong("database.timeout");
} catch (ConfigurationException cex) {
    cex.printStackTrace();
}

And this is how my database.properties file looks:

database.host = "dbname";
datatabase.port = 5005;
datatabase.user = "root";
datatabase.password = "";
database.timeout = 60000

P.S. Sorry for my stupidity, I am very new to Java.



Solution 1:[1]

You can use the properties class in java, which has a load method that specifies an inputstream. Then, you can read your properties file via FileInputStream.

example?

public class Test {

    public static void main(String[] args) throws Exception {
        Properties properties = new Properties();

        InputStream inputStream =
                new FileInputStream("D:\\work_space\\java_workspace\\test-mq\\src\\main\\resources\\database.properties");
        properties.load(inputStream);

        String host = properties.getProperty("database.host");
        // get more properties......
        System.out.println(host);

    }

}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Karthikeyan