0

これは 100% 勝利のコンソール アプリケーションです。ここで問題です。

jar 内に配置するファイル music.xm をロードします。相対パスを介してファイルを呼び出そうとすると、問題が発生します。開始ディレクトリはJavaプロジェクトのものではなく、私のWindowsユーザーフォルダーです。

私が電話したら

File music = new File("\\music.xm");


javax.sound.sampled.UnsupportedAudioFileException: /C:/Users/XXXX/Desktop/./music/music.xm

私が電話したら

    File music = new File(".\\music.xm");

私は得る

    javax.sound.sampled.UnsupportedAudioFileException: /C:/music.xm
4

1 に答える 1

1

瓶に入っている場合は、使用できます

getclassLoader().getResourceAsStream("music.xm")

この inputStream は好きなように使用できます。ただし、パスはクラスローダーのクラスパス ルートからの相対パスである必要があることに注意してください。

さらに、「music.xm」がindependent file on filesystem.class ファイルに対する固定された相対位置に存在することが確実な場合は、以下も使用できます。

getclassLoader().getResource("music.xm")

ドキュメントについては SOと here を参照してください。

于 2013-08-08T12:49:40.367 に答える