读取属性文件的正确方法
correct way to read properties file
我找不到加载属性文件的正确方法。
结构是:在 src/com.training
里面,我有我的 class 和属性文件。我必须使用绝对路径读取它,如下面的代码所示,才能使其正常工作:
Properties prop = new Properties();
InputStream input = null;
input = new FileInputStream("D:/Dev/workspace/Training/src/com/training/consolemessages.properties");
prop.load(input);
System.out.print(prop.getProperty("INITIAL_MESSAGE"));
如何使用相对路径在此代码中工作以访问属性文件。正在访问的属性文件和 class 都处于同一级别 '/src/com.training'
您可以将属性文件放入 src/resources
文件夹,然后在类路径中获取它们。
你可以这样做:
ResourceBundle bundle = ResourceBundle.getBundle("resources/consolemessages");
System.out.println(bundle.getString("INITIAL_MESSAGE"));
使用 ResourceBundle
时,Locale
支持也很容易实现,如果您需要具有特定于语言的属性。
我找不到加载属性文件的正确方法。
结构是:在 src/com.training
里面,我有我的 class 和属性文件。我必须使用绝对路径读取它,如下面的代码所示,才能使其正常工作:
Properties prop = new Properties();
InputStream input = null;
input = new FileInputStream("D:/Dev/workspace/Training/src/com/training/consolemessages.properties");
prop.load(input);
System.out.print(prop.getProperty("INITIAL_MESSAGE"));
如何使用相对路径在此代码中工作以访问属性文件。正在访问的属性文件和 class 都处于同一级别 '/src/com.training'
您可以将属性文件放入 src/resources
文件夹,然后在类路径中获取它们。
你可以这样做:
ResourceBundle bundle = ResourceBundle.getBundle("resources/consolemessages");
System.out.println(bundle.getString("INITIAL_MESSAGE"));
使用 ResourceBundle
时,Locale
支持也很容易实现,如果您需要具有特定于语言的属性。