我有一个文件夹存储图像,当用户搜索时,电影的名称与电影名称相同,相应的图像应该显示在该电影中。
File ImageDisplay = new File("src/icons/random.png");
BufferedImage originalImage = ImageIO.read(ImageDisplay);
ImageIcon icon = new ImageIcon(originalImage);
现在,如果我运行这一切,一切正常,每张电影都会出现该图像。
但我想做这样的事情:
File ImageDisplay = new File("src/icons/"+MOVIE_TITLE+".png");
BufferedImage originalImage = ImageIO.read(ImageDisplay);
ImageIcon icon = new ImageIcon(originalImage);
其中MOVIE_TITLE是数据库中的电影名称。但这给了我错误,我似乎无法理解为什么。如果我删除所有内容并使用以下方法将其打印出来:
System.out.println("src/icons/"+MOVIE_TITLE+".png");
控制台中的输出对于打印出来的每部电影都是正确的:例如:Godfather.png等等。我错过了什么?
答案 0 :(得分:0)
我解决了这个问题。错误是所有电影都没有图像,当它无法找到相应电影的图像时就会出错。
我通过使用以下代码检查文件是否存在来解决问题:
if(ImageDisplay.exists()) {
ImageDisplay = new File("src/icons/"+titleString+".png");
} else {
ImageDisplay = new File("src/icons/SsSs.png");
}
如果图像不存在,请将其替换为另一张图片。