2012-01-12 10 views
1
public class SupplierCalculatorApplet extends JApplet{ 
... 
public void init(){ 
    loadProperties(); 
    ... 
} 

... 

private void loadProperties() { 
    language = "en-us";//getParameter("Language"); 
    prop = new Properties(); 
      try { 
       URL urlToProps = this.getClass().getResource("config/" + language + ".properties"); 
       prop.load(urlToProps.openStream());//Exception Caught Here 
      } catch (IOException e) { 
      } 
} 

上記の行に例外が見つかりました。言語が有効なプロパティファイルであろうとなかろうと、私は同じ行で同じ例外をキャッチします。プロパティファイルをロードする際のJava NullPointerException

+1

コードと例外を投稿してください。私の推測では、プロパティファイルがまったく見つからないということです。 ClassPathまたはファイルシステム経由でロードしていますか? – JustinKSU

+0

コード(言語ベースの名前をいくつかのプロパティで読み込む)を見ると、プロパティ – Robin

+1

の代わりにResourceBundleインスタンスを使用するように切り替えることが考えられます。アイデアは、jarファイルからプロパティファイルを読み込むことができるということです。私はアプレットのラベルをローカライズするためにプロパティファイルを使用しています。 – unmuse

答えて

2

変更するには:

prop.load(this.getClass().getResourceAsStream("/config/" + language + ".properties")); 
4

あなたは私たちにそこで動作するように多くのことを与えられていませんが、リソースが見つからない場合は、私の推測ではClass#getResource戻りnull以来、urlToPropsnullであるということでしょうが、あなたが描いたコードには守備のチェックを持っていません。したがって、urlToProps.openStream()部分はNPEを投げます。

+1

リソースが適切な場所に存在する場合、それが見つからないのはなぜですか? – unmuse

+1

@unmuse: 'urlToProps'が' null'かどうかチェックしましたか?それが最初のことです。 –

+0

load()が呼び出されたときはnullです。 – unmuse

関連する問題