Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.8k views
in Technique[技术] by (71.8m points)

java - ImageIO can't read input file

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();
        }

This is my first post, excuse me if I've done something wrong. This code was running properly untill i try to read an image from the source package. But now it can't read any image. What am I doing wrong? Or is it something about eclipse?

Exception:

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)

Thanks...

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Change / for if you are using windows.

A more cross-platform approach would be substitute

C: for File.listRoots()[0] and every / for File.separator.

Read more on the File api documentation

EDIT

(I didn't read this line, sorry)

This code was running properly untill i try to read an image from the source package

In order to get a file from inside your jar package, one must use the getClass().getResource() method.

Example:

application-package:
|-Main.java
|-resources
  |-image.jpg

For the above directory structure:

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

Would do the trick.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

57.0k users

...