-1

音声ファイルを読み取るプログラムを作成しました。開発しやすいので、最初は絶対パスでやりました。
次に、それをに圧縮したいので、相対パスに変更し*jarます。だから私はこのメソッドをコーディングします(最初はほんの少し後にコードをコーディングします:

1.: at first I make a FileArray to save the Files
2.: make the array to save the AudioClip
3.: for loop to read the Clips

今コード:

    private AudioClip[] liesAudioDateien (File inputFile) {
        File[] dateFileArray;
        AudioClip[] tracks;
        dateFileArray = inputFile.listFiles();
        tracks = new AudioClip[dateFileArray.length];
        for (int i = 0; i < tracks.length; i++) {
            if (dateFileArray[i].isFile()) {
                try {
                    tracks[i] = Applet.newAudioClip(dateFileArray[i].toURL());
                } catch (IOException ex) {
                    System.err.println("Error!: -- " + ex.toString());
                }
            }

        }
        return tracks;   
    }

inputFile.listfiles()私のパスがOKではないように見えるので、nullを返します。しかし、コマンドラインに出力させるので、私のパスはOKです。 D:\Eclipse\MyProjekt\dist\MyProject.jar\audio。NetBeansでは、機能します。If I make a jar file, it doesn't work.

私はすでに試しました:

  1. D:\Eclipse\MyProjekt\dist\MyProject.jar\audio\
  2. /代わりに\
4

1 に答える 1

1

これが正しいファイルパスであると確信していますか?

D:\Eclipse\MyProjekt\dist\MyProject.jar\audio

オーディオディレクトリはMyProject.jarというフォルダにありますか?

オーディオファイルが.jarファイル内にある場合、Fileクラスを使用してそれらを一覧表示することはできません。代わりに、この質問のように、.jarファイルからエントリを読み取る必要があります。

于 2013-03-24T18:23:08.300 に答える