画像をロードするために使用しているコードは次のとおりです。
ImageIO.read(SpriteSheet.class.getResource(path));
パスはリソースへのパスです。しかし、それはエラーになりますIllegalArgumentException
。何が原因なのだろうと考えた結果、リソースをクラスと同じパスに追加する必要があるという結論に達しました。
bin フォルダー外の res フォルダーなど、別のフォルダーから画像を読み込むことは可能ですか? (コンパイルされたクラスを保持するフォルダー)
編集:だから私はいくつかのことをいじり、解決策にたどり着きました。しかし今、私は別の問題を抱えています。これが私のコードです
File sheet = new File(SpriteSheet.class.getProtectionDomain().getCodeSource().getLocation().getPath());
URI uri = sheet.toURI();
BufferedImage image = ImageIO.read(uri.toURL());
実行しようとすると、IIOException: Can't read Input File
これは、実際に動作させることができないことを意味します。URL をコンソールに表示してデバッグを試みましたが、これが URL です。
が真ん中に来ますC:\Users\Amma\Abhijeet\Eclipse%20Workspace1\Test%20Game\bin
。%20
ファイルにアクセスできず、決してアクセスできないことを意味します。とにかくこれを修正できますか?
ありがとう。