Java属性文件未加载
我需要一个配置文件在我的程序中存储一些信息,我看到一些属性文件的例子,并试图使用它们,但每当我在NetBeans上尝试第二行时,我得到’包sortConfig不存在” <identifier
>预期’和’非法开始类型’。
问题是我已经看到了大约10个例子都是以同样的方式做到这一点,我不知道发生了什么。
Properties sortConfig = new Properties(); sortConfig.load(this.getClass().getClassLoader().getResourceAsStream("sortConfig.properties"));
任何帮助,将不胜感激
我的.java类和我的属性文件位于同一个包文件夹中的src上
看起来您没有属性文件的完全限定路径。 你可以通过两种方式实现它: –
- 使用java.util.ResourceBundle:
ResourceBundle bundle = ResourceBundle.getBundle(“br.com.example.sortConfig”); //.properties是隐含的
要么
- 使用ClassLoader.getResouceAsStream:
sortConfig.load(this.getClass().getClassLoader().getResourceAsStream("br/com/example/sortConfig.propertie"));
有关如何加载属性文件资源的详细教程,请查看此链接 。
另一种方法是使用this.getClass().getResourceAsStream()
接受相对路径名(相对于你的类所在的包,也就是说),所以你可以简单地写一下
sortConfig.load(this.getClass().getResourceAsStream("sortConfig.properties"));
当您特别希望依赖于同一包中的类和属性文件时,这非常有用。 (所以当你在重构过程中移动一个时,你也必须移动另一个。)