その後、すでに提示されたものへの代替理論をresources
という名前のパッケージを作成します。成功したgetResource()呼び出しは、呼び出されたクラスローダのインスタンスに依存します。このため、getResource()を呼び出すためのユーザー定義オブジェクトのインスタンスを使用することをお勧めします。例えば。
// Sanity check
System.out.println("The value of 'file' is: " + file);
// Presuming kidsClassRoom1 is an instance of kidsClassRoom
AudioInputStream inputStream = AudioSystem.
getAudioInputStream(
kidsClassRoom1.
getClass().
getResourceAsStream("/resources/"+file));
スニペットでは、リソースに接頭辞「/」が使用されていることに注意してください。他の人が言っていることとは反対に、私は、リソースパスのルートから、ランタイムクラスパス上のJarが見つかったことを意味すると確信しています。 '/'または '../'のままにしておくと、クラスローダーは、これが発生しているクラスのサブパス内のリソースを検索します。
もちろん、Wavが瓶! .jarを.zipにコピー/名前を変更してダブルクリックすると、Windows上でアーカイブの内容を調べるための「クイック&ダーティな」方法です。
'../'はまだ動作していません! – sarath
リソースフォルダを右クリックし、「ビルドパス - >ソースフォルダとして使用」を選択してください。 (これは、eclipseから起動するときにファイルがクラスローダーにアクセス可能であることを確認することです) – aioobe
私は現在IDEを使用していません:) – sarath