sarsarahman
sarsarahman

Reputation: 1088

properties file is returning null

i am trying to read values from properties file and when i tried to run this program its giving the output as
null

import java.io.FileInputStream;
import java.util.Properties;
public class JavaApplication1 {
final private static String osName = System.getProperty("os.name");
static final Properties configFile = new Properties() {

    {
        try {
            configFile.load(new FileInputStream("config.properties"));
        } catch (Exception e) {
        }
    }
};
private static String DIR = osName.equals("Linux") ? configFile.getProperty("tempDirForLinux") : configFile.getProperty("tempDirForWindows");
public static void main(String[] args) {
    System.out.println(DIR);
}
}

Upvotes: 0

Views: 4173

Answers (1)

Bruce Lowe
Bruce Lowe

Reputation: 6193

The part that is a bit odd in your example is where you create an anonymous Properties class and then load the properties into that same class in an initialization statement. I'm not sure how that is meant to work (and I'm guessing doesn't)

This is probably what you want rather

public class JavaApplication1 {
    final private static String osName = System.getProperty("os.name");
    static final Properties configFile = new Properties();

    static {
        try {
            configFile.load(new FileInputStream("config.properties"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    };

    private static String DIR = osName.equals("Linux") ? configFile.getProperty("tempDirForLinux") : configFile.getProperty("tempDirForWindows");

    public static void main(String[] args) throws IOException {
        System.out.println(DIR);
    }
}

Upvotes: 1

Related Questions