web-dev-qa-db-ja.com

ImageIOが入力ファイルを読み取れません

public static void imRes(String pat) {
        try {
            BufferedImage bckimg = ImageIO.read(new File("c:/s/deneme.jpg"));
            File s = new File(pat);
            BufferedImage im = ImageIO.read(s);
            BufferedImage im1 = resIm(im);
            BufferedImage finIm = mergIm(im1, bckimg);
            ImageIO.write(finIm, "jpg", new File("c:/s/deneme1.jpg"));
        } catch (IOException e) {

            e.printStackTrace();
        }

これは私の最初の投稿です。何か間違ったことをしたら失礼します。このコードは、ソースパッケージからイメージを読み取ろうとするまで、適切に実行されていました。しかし、今は画像を読み取ることができません。何が悪いのですか?それとも日食についてですか?

例外:

javax.imageio.IIOException: Can't read input file!
    at javax.imageio.ImageIO.read(Unknown Source)
    at imRe.imRes(imRe.Java:12)
    at imReTest.main(imReTest.Java:6)

ありがとう...

10
s.alem

ウィンドウを使用している場合は、_/_を_\_に変更します。

よりクロスプラットフォームのアプローチが代わりになるでしょう

_C:_ for File.listRoots()[0]およびすべての_/_ for _File.separator_。

File apiドキュメント の詳細を読む

[〜#〜]編集[〜#〜]

(申し訳ありませんが、この行は読みませんでした)

このコードは、ソースパッケージから画像を読み取ろうとするまで適切に実行されていました

Jarパッケージ内からファイルを取得するには、getClass().getResource()メソッドを使用する必要があります。

例:

_application-package:
|-Main.Java
|-resources
  |-image.jpg
_

上記のディレクトリ構造の場合:

_BufferedImage im = ImageIO.read(new File(getClass().getResource("/resources/image.jpg").toURI()));
_

トリックを行います。

14
Bruno Vieira