2011-01-23 63 views
0

我需要在我的程序中存储一些信息的配置文件,我看到一些属性文件的例子,并试图使用它们,但每当我在NetBeans上尝试第二行时,我都会得到'Package sortConfig doesn' t存在''<identifier>预期的'和'非法开始类型'。Java属性文件未加载

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

Properties sortConfig = new Properties(); 

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

任何帮助,将理解

我的.java类和我的属性文件都在SRC,相同的包的文件夹

+0

sortConfig.properties位于何处?你可以添加你的包装结构吗? – CoolBeans 2011-01-23 23:24:52

+1

您似乎正在收到编译错误,但没有任何意义。这两行编译得很好,它们必须放错位置或其他。提供更多上下文。 – maaartinus 2011-01-23 23:41:27

回答

1

它看起来像你没有完全合格的路径到你的属性文件。你可以得到它在两个方面: -

  1. 使用java.util.ResourceBundle中:

资源包捆绑 = ResourceBundle.getBundle( “br.com.example.sortConfig”); //.properties隐含

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

对于一个很好的教程就如何加载属性文件资源检查出这link

0

内的替代可以是使用this.getClass().getResourceAsStream()它接受相对路径名(相对于包装类是,这是),所以你可以简单的写

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

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

+0

没有工作,Coolbeans解决方案工作,见上面 – bwagner 2011-01-24 13:35:09