2011-01-23 60 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