- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
大家好,我遇到了 Java 问题。对于我的高级研究类(class),我已经基本完成,但我只需要分析我生成的图像中的一些数据。我不想将其标记为家庭作业,因为它不是任何必需作业的一部分......这是我自己想出的来收集结果的东西。我编写了一个程序来逐像素比较两个图像。它对两个目录中的所有 .bmp 文件执行此操作。现在,我的程序将文件名读取到字符串数组中,并且检查了所有文件名的值,因此我知道目录和文件名最初可以正常访问。这是有问题的代码:
public static void main(String[]args) throws IOException
{
File actualDir = new File("C:\\Users\\Rowe\\Desktop\\testExpect");
String actualFiles[] = actualDir.list();
File expectedDir = new File("C:\\Users\\Rowe\\Desktop\\testExpect2");
String expectedFiles[] = expectedDir.list();
int[][] stats = new int[actualFiles.length][6]; // Holds all info
//Columns, Rows, Total, redMatches, shouldaBeenRed, badRed
for(int i = 0; i < actualFiles.length; i++)
{
BufferedImage actualImage = null;
System.out.println(actualFiles[i]); //THIS PRINTS PROPERLY
System.out.println(System.getProperty("user.dir")); //FOR TESTING
actualImage = ImageIO.read(new File("C:\\Users\\Rowe\\Desktop\\testExpect\\"+actualFiles[i])); //ERROR HERE
BufferedImage expectedImage = null;
expectedImage = ImageIO.read(new File("C:\\Users\\Rowe\\Desktop\\testExpect2\\"+expectedFiles[i])); //THIS IMAGE WORKS
...其余代码
现在,当我将目录更改为相同时,程序会运行,并检测到所有像素 100% 相似(正如它应该的那样,所以我知道程序会执行我想要的操作)。错误如下:
线程“主”javax.imageio.IIOException中出现异常:无法读取输入文件!
在 javax.imageio.ImageIO.read(来源未知)
在 PixelCompare.main(PixelCompare.java:22)
我尝试过不同的目录,但没有成功。是否与 .bmp 文件有关?是什么导致一组 BMP 读取良好而另一组无法工作?我可以在其他程序中打开所有必需的文件,因此它们没有损坏。所有属性似乎都是相同的。一个目录是在 Gimp 中手工制作的(这些读起来很好),另一个目录是由基于 Java 的程序生成的。这些可以在 Gimp、Paint、Photoshop 等中读取,但在我的代码中无法读取。
非常感谢任何帮助,谢谢!
编辑:忘记使用恢复的代码...我搞砸了然后发布了一些错误的版本。进行修改以显示其他功能代码的原始问题。进一步描述问题:如果您将两个目录更改为在 testExpect2 文件夹中查找预期文件 [] 中的文件列表,它将成功运行。另外,System.out.println(actualFiles[i]
在错误发生之前打印正确的文件名,因此我知道正确的文件正在被读入字符串数组。
最佳答案
new File("C:\\Users\\Rowe\\workspace\\Senior Research\\testExpect"+expectedFiles[i])
让我们将目录缩短为C:\\yourDir
。您的代码将产生类似的路径
C:\\yourDirexpectedFiles1.bmp
不是你想要的:
C:\\yourDir\\expectedFiles1.bmp
您忘记了路径分隔符。
使用两个 File-arg 构造函数来 File
会更好:
File actualImageFile = new File(actualDir, expectedFiles[i]);
actualImage = ImageIO.read(actualImageFile);
希望有帮助!
关于Javax ImageIO IIOException 显然没有原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5713096/
假设我们在 NoArgConstructorClass.java 文件中有一个类 NoArgConstructorClass /* first example */ import javax.imag
大家好,我遇到了 Java 问题。对于我的高级研究类(class),我已经基本完成,但我只需要分析我生成的图像中的一些数据。我不想将其标记为家庭作业,因为它不是任何必需作业的一部分......这是我自
我正在制作一个菜单,使用 awt.Graphics,当它绘制出图片时给我一个奇怪的 IIOException。是因为程序没有找到图像吗?以下是我的代码的使用方式。 public static Buff
我正在尝试将 Image 设置为 JLabel。我使用了这段代码,它在 IDE 中运行良好。但是当我尝试在 dist 文件夹中运行可执行 Jar 文件时,它给了我这个错误。 javax.imageio
我正在尝试将图像(保存在 BufferedImage 对象中)复制到剪贴板。我正在使用 this answer 中的代码. 当试图将图像粘贴到程序中时,什么也没有发生。 GIMP 显示一条消息,指出在
我正在尝试使用 swing 将图像指定为背景。我找到了多种方法来做到这一点,但我似乎总是遇到同样的问题。我找到了一个很好的自定义类可以在这里使用 > http://www.camick.com/jav
我正在使用数据驱动设计编写一个简单的游戏,在其中我读取游戏各个元素的图像。因此,我编写了一个解析器来读入文件,确认它们是可接受的图像格式,并使用这些文件创建一个新的 Sprite(我编写的类)。 我使
谁能帮我解决如何捕获 IOException 和 IIOException,因为我需要区分图像格式和图像加载错误。 因为我没有捕捉到 IOException,所以这样的事情不起作用。 catch (I
我正在尝试获取“图像”文件夹中所有图像的高度和宽度。不幸的是,我不断收到“无法创建 ImageInputStream!”错误。我该如何解决? javax.imageio.IIOException: C
我正在用 java 实现一个服务器,它从 android 应用程序接收图像。基本上它是从 android 模拟器而不是从 android 设备接收图像。从 Android 模拟器或 Android 设
我有一个函数generateImageOutput,可以将BufferedImage写入jpeg文件。 public boolean generateImageOutput(BufferedImage
我正在构建一个辅助工具,它将向图像添加一些文本。该镜像与 .jar 文件位于同一目录中。我只想将文件复制到 jar 的目录中,然后双击 jar 文件,它应该处理图像。 当我在 Eclipse 中运行代
第一次在 Java 中使用图像,并且遇到了一些没有很好记录的奇怪异常。这是失败的代码行: BufferedImage imgSelected = ImageIO.read(new File("/abs
我正在比较存储在项目内 pic 文件夹中的两个图像 在编译期间我收到IOException我尝试了以前的所有解决方案,但仍然不起作用请帮我解决这个错误在此项目中,我使用 servlet 页面 这是我的
我可以打开this image在我的浏览器中,但它不会在我的 java 应用程序中加载,为什么?它应该是一个免费使用的数据库,我不明白为什么我不能使用它。 我正在使用这段代码: public stat
我使用this用于创建图像缩略图的开放源码库。我的任务是将文件转换为 Base64 字符串,然后将此字符串作为请求参数发送到 REST 服务。我使用此函数在客户端将文件转换为 Base64 字符串:
以下代码在 BlueJ IDE 中运行成功,但在 Eclipse 中运行失败。 String path="images/pic1.jpg"; BufferedImage myPicture = nul
protected void doGet(HttpServletRequest req, HttpServletResponse response) throws IOExceptio
这个问题在这里已经有了答案: imageio.IIOException: Can't read input file (4 个答案) 关闭 4 年前。 我正在构建一个压缩给定图像并将其保存为 JPE
我一周前开始使用 Java,现在我想在我的窗口中插入一个图像。无论我尝试什么,我都会在 Eclipse 中保留这个:javax.imageio.IIOException:无法读取输入文件! packa
我是一名优秀的程序员,十分优秀!