Java属性文件未加载

我需要一个配置文件在我的程序中存储一些信息,我看到一些属性文件的例子,并试图使用它们,但每当我在NetBeans上尝试第二行时,我得到’包sortConfig不存在” <identifier >预期’和’非法开始类型’。

问题是我已经看到了大约10个例子都是以同样的方式做到这一点,我不知道发生了什么。

 Properties sortConfig = new Properties(); sortConfig.load(this.getClass().getClassLoader().getResourceAsStream("sortConfig.properties")); 

任何帮助,将不胜感激

我的.java类和我的属性文件位于同一个包文件夹中的src上

看起来您没有属性文件的完全限定路径。 你可以通过两种方式实现它: –

  1. 使用java.util.ResourceBundle:

ResourceBundle bundle = ResourceBundle.getBundle(“br.com.example.sortConfig”); //.properties是隐含的

要么

  1. 使用ClassLoader.getResouceAsStream:
 sortConfig.load(this.getClass().getClassLoader().getResourceAsStream("br/com/example/sortConfig.propertie")); 

有关如何加载属性文件资源的详细教程,请查看此链接 。

另一种方法是使用this.getClass().getResourceAsStream()接受相对路径名(相对于你的类所在的包,也就是说),所以你可以简单地写一下

 sortConfig.load(this.getClass().getResourceAsStream("sortConfig.properties")); 

当您特别希望依赖于同一包中的类和属性文件时,这非常有用。 (所以当你在重构过程中移动一个时,你也必须移动另一个。)