当前位置: 首页 > 面试题库 >

ImageIO无法读取输入文件

薄欣怿
2023-03-14
问题内容
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)

谢谢…


问题答案:

改变/\,如果你使用的是Windows。

更跨平台的方法将替代

C:对于File.listRoots()[0]/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()));

会做到的。



 类似资料:
  • 问题内容: 我不知道为什么这不起作用,但是程序说它无法读取输入文件。顺便说一下,这也在Ubuntu中运行: 这是示例代码: 该目录也位于程序的bin文件夹和src文件夹中。 问题答案: 如果您改为从资源流中获取图像怎么办?例如,

  • 问题内容: 我一周前开始使用Java,现在我想在窗口中插入一个图像。无论我尝试什么,我都会在Eclipse中继续使用它: javax.imageio.IIOException:无法读取输入文件! } 我认为代码很容易解释。我试图解决这个问题 我想做的是一个桌面程序,我的源代码存储如下:training / src / graphics / Window training / src / src /

  • 问题内容: 我对Logstash有一个奇怪的问题。我正在提供一个日志文件作为logstash的输入。配置如下: 我已经在运行elasticsearch服务器并验证是否正在使用curl查询接收数据。问题是,当输入为时,没有数据被接收。但是,如果我将输入更改为以下内容,它将顺利发送所有输入数据: 我不明白我要去哪里错了。有人可以看看这个吗? 问题答案: 您应该在文件部分下设置start_positio

  • 问题内容: 我正在尝试将BufferedImage写入jpeg文件,但是我的Java程序引发了异常。我能够成功将相同的缓冲区保存为gif和png。我尝试在Google上四处寻找解决方案,但无济于事。 码: 例外: 问题答案: OpenJDK没有本地JPEG编码器,请尝试使用Sun的JDK或使用库(例如JAI) AFAIK,关于“粉红色色调”,Java将JPEG保存为ARGB(仍然具有透明度信息)。

  • 问题内容: 我正在编写一个连接到servlet的程序,这要感谢a,但是我在检查url时卡住了 我得到了错误: java.net.ProtocolException:读取输入后无法写入输出。 如果我用注释中的代码检查网址,但不幸的是它可以正常工作,我需要检查网址,所以我认为问题出在方法上,但我不知道如何解决 非常感谢你 问题答案: HTTP协议基于请求-响应模式:首先发送请求,然后服务器响应。服务器

  • 根据API,Java的ImageIO为方法。 其中两种方法是: Oracle教程网站使用readfrom file方法。然而,我已经看到了许多由程序员编码的例子,这里更喜欢使用URL方法。 Exmaple: 我的问题是:如果我只是为Java桌面应用程序(而不是Java小程序)编写代码。与其他方法相比,使用URL方法是否有显著优势? 注意:在SO:usingurl或File(在ImageIO.rea