2016-12-29 7 views
0

jarファイルからプログラムを実行するときにファイルをロードする際に問題があります。私はこれに非常に似た質問があることを知っていますが、私のために働くものは見つけられません。.jarファイルをロードするときにURIが階層化されていない

initSource = new File(getClass().getResource("/resources/levels").toURI());

私は何の問題ではありません

Exception in thread "main" java.lang.IllegalArgumentException: URI is not hierarchical 
     at java.io.File.<init>(Unknown Source) 
     at bbsource.BouncyBallV5.loadLevels(BouncyBallV5.java:370) 
     at bbsource.BouncyBallV5.<init>(BouncyBallV5.java:243) 
     at BBDriver.main(BBDriver.java:18) 

ライン370は、次のとおりです。私は私のjarファイルのフォルダからオブジェクトファイルをロードしたいと思いますが、私が行うとき、私は次のエラーを取得しますEclipseから実行しているときにこの行が表示されますが、JARファイルでは動作が異なることを認識しています。フォルダ階層は次のとおりです。

  • SRC
    • リソース
      • レベル
        • tier_one
          • Level1.cbbl
          • Level2.cbbl
          • tier_two Level1.cbbl

レベルは、それは私にアクセスをさせませんディレクトリで、私はわかりませんそれを働かせる方法。私はInputStreamを使用するなどの提案を見ましたが、私はそれをどのように使用するかわからず、オブジェクトを読み取ることができるファイルとして扱います。

ご協力いただければ幸いです。

答えて

3

/resources/levelsはファイルではないディレクトリです。 this question

+0

のサブディレクトリと最終的にはファイルにアクセスするためのディレクトリとして使用しますが、インデックスの理由でディレクトリ形式の構造が必要です。私は実際にこのために 'InputStream'をどのように使うのかまだ分かりません。 'initSource'ヘルプの使い方を記述しますか? – Ryan

+0

'initSource = new File(getClass()。getResource("/resources/levels ")。getFile())' – AJA

+0

これはEclipseでも動作しますが、コマンドプロンプトからjarとして実行するとエラーが発生します。しかし、今回はエラーは 'NullPointerException'です。 – Ryan

関連する問題