1

重複の可能性:
アプリケーションのパスを取得する

メディア ファイルを再生できる Java Swing デスクトップ アプリケーションを Netbeans で作成しました。ビデオをワークスペース リソースの場所に置き、Java プログラムで次のような URL を使用してこれらのメディア ファイルを呼び出しています。

C:/users/Dell/My Documents/NetBeansProjects/Media/src/resources/MediaFiles/ddd.mpg

これは、IDE で実行するとうまく機能し、このために Jar を作成したので、コンピューターでうまく動作しますが、問題は、この jar ファイルを友人のシステムにコピーすると、インターフェイスが表示されますが、ボタンをクリックして再生するときです。 media file ファイルが存在しないと表示されます。

したがって、他のシステムでjarファイルを実行するときに、プログラムで渡しているメディアファイルの場所を再生するように、デフォルトパスを設定する方法の解決策を教えてください。

プログラムでメディア ファイルの場所のパスを設定する方法は?

アップデート

ビデオはjarファイルにあります。

4

1 に答える 1

2

ビデオがjarファイルにある場合、それらは事実上

上記の URL の文字列はFile、ファイル ベースの URL または URI ではなく、インスタンスのパスを連想させることに注意してください。

埋め込まれたリソース情報を参照してください。getResource(String)埋め込みリソースへの URL を取得するために使用する方法の詳細については、ページを参照してください。

ビデオを Jar にパッケージ化する

ビデオやサウンド サンプルなどのリソースをクラスごとに別の Jar に入れるのが最適です。これにより、メディア リソースの「圧縮なし」を簡単に指定できるようになります。通常、Zip スタイルの圧縮は、「圧縮された」リソースを数バイト大きくする以外に、メディア タイプに対しては何もしません。

Jar からのリソースの抽出

リソースを抽出して既知の場所に配置する必要がある場合 (例: を使用して再生されるビデオ)、リソースを抽出する方法については、この回答Desktop.open(File)を参照してください。「既知の場所」は のサブディレクトリです。user.home

于 2012-09-08T09:27:54.473 に答える