Java 比较数据库中的图像时出错
我想将导入的图像与数据库中的图像进行比较。到目前为止,我已经创建了这个,但我不断得到错误:Java 比较数据库中的图像时出错,java,sql,compare,blob,photo,Java,Sql,Compare,Blob,Photo,我想将导入的图像与数据库中的图像进行比较。到目前为止,我已经创建了这个,但我不断得到错误: Uncaught error fetching image: java.lang.NullPointerException at java.io.FileInputStream.<init>(FileInputStream.java:103) at java.io.FileInputStream.<init>(FileInputStream.java:66)
Uncaught error fetching image:
java.lang.NullPointerException
at java.io.FileInputStream.<init>(FileInputStream.java:103)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at sun.awt.image.FileImageSource.getDecoder(FileImageSource.java:35)
at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:240)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)
我认为我的逻辑是正确的。为什么该方法不能从数据库中获取图像?您的行
file2 = bytes.toString();
这是完全错误的。它决不会将字节写入文件。显然,您还没有用Java完成任何文件IO
如果有足够的内存,无论如何都可以绕过文件写入。您可以将字节[]
包装在ByteArrayInputStream
中,并使用ImageIO.read()
从中提取图像
InputStream in = new ByteArrayInputStream(bytes);
Image img = ImageIO.read(in);
你的线路
file2 = bytes.toString();
这是完全错误的。它决不会将字节写入文件。显然,您还没有用Java完成任何文件IO
如果有足够的内存,无论如何都可以绕过文件写入。您可以将字节[]
包装在ByteArrayInputStream
中,并使用ImageIO.read()
从中提取图像
InputStream in = new ByteArrayInputStream(bytes);
Image img = ImageIO.read(in);
@Kayaman如何将字节[]序列转换为图像?@Kayaman如何将字节[]序列转换为图像?好的!img呢?我怎么把它做成文件?你需要它变成文件吗?在你的比较中似乎是不必要的一步。无论如何,去阅读文件IO教程不完全是,但我如何使用它在这里gor文件2?Image image1=Toolkit.getDefaultToolkit().getImage(file1);Image image2=Toolkit.getDefaultToolkit().getImage(file2);将其作为参数传递。您已经拥有图像对象,无需再次加载。hhmmm。。好啊我这样做了:
Image-image1=Toolkit.getDefaultToolkit().getImage(file1);Image-image2=Toolkit.getDefaultToolkit().getImage(img.toString())代码>我仍然得到一个nullpointerexception。但不一样!好啊img呢?我怎么把它做成文件?你需要它变成文件吗?在你的比较中似乎是不必要的一步。无论如何,去阅读文件IO教程不完全是,但我如何使用它在这里gor文件2?Image image1=Toolkit.getDefaultToolkit().getImage(file1);Image image2=Toolkit.getDefaultToolkit().getImage(file2);将其作为参数传递。您已经拥有图像对象,无需再次加载。hhmmm。。好啊我这样做了:Image-image1=Toolkit.getDefaultToolkit().getImage(file1);Image-image2=Toolkit.getDefaultToolkit().getImage(img.toString())代码>我仍然得到一个nullpointerexception。但不一样!