从 link 文件列表中检索数据并将获取的图像与现有图像进行比较
retrieving data from a link list of File and comparing the obtain image with the existing image
我正在尝试从 link 文件列表中获取文件,然后将获取的图像与 imageView 上的现有图像进行比较,但它给出了空指针异常,请在此处输入代码
files.stream().map((file) -> file.toPath().toString()).forEachOrdered((string) -> {
try {
Image source =new Image(new FileInputStream(string));
if(source==image){
stringFilePath=string;
}
} catch (FileNotFoundException ex) {
Logger.getLogger(SecondFrameController.class.getName()).log(Level.SEVERE, null, ex);
}
我也用for循环试过,问题依旧
for(File file:files)
{
String string= file.toPath().toString();
try {
Image source =new Image(new FileInputStream(string));
if(source==image){
stringFilePath=string;
}
} catch (FileNotFoundException ex) {
Logger.getLogger(SecondFrameController.class.getName()).log(Level.SEVERE, null, ex);
}
}
在您的情况下,==
运算符永远不会 return 为真,因为它用于识别实例,而不是比较图像。
有关对象 ==
的更多信息,请参阅此答案:
尝试使用 class Image
的方法,该方法可用于将其与另一个 Image
实例进行比较。
我正在尝试从 link 文件列表中获取文件,然后将获取的图像与 imageView 上的现有图像进行比较,但它给出了空指针异常,请在此处输入代码
files.stream().map((file) -> file.toPath().toString()).forEachOrdered((string) -> {
try {
Image source =new Image(new FileInputStream(string));
if(source==image){
stringFilePath=string;
}
} catch (FileNotFoundException ex) {
Logger.getLogger(SecondFrameController.class.getName()).log(Level.SEVERE, null, ex);
}
我也用for循环试过,问题依旧
for(File file:files)
{
String string= file.toPath().toString();
try {
Image source =new Image(new FileInputStream(string));
if(source==image){
stringFilePath=string;
}
} catch (FileNotFoundException ex) {
Logger.getLogger(SecondFrameController.class.getName()).log(Level.SEVERE, null, ex);
}
}
在您的情况下,==
运算符永远不会 return 为真,因为它用于识别实例,而不是比较图像。
有关对象 ==
的更多信息,请参阅此答案:
尝试使用 class Image
的方法,该方法可用于将其与另一个 Image
实例进行比较。