对于一个大学项目,我应该编写一个数据库,将图片保存在h2数据库中,并在ImageView中显示它。
FileInputStream fileStream = new FileInputStream(f);
Horse h = getSelectedHorse();
h.setImage(fileStream);
Connection c = H2ConnectionFactory.getConnection();
JdbcHorseDao horseDao = new JdbcHorseDao(c);
horseDao.update(h);
c.commit();
Image img = new Image(fileStream);
horseImages.put(h, img);
imageView.setImage(img);当我首先将图像保存到数据库时,我不能立即在图像查看器中显示它,反之亦然(当我首先显示它时,我不能将它保存到数据库中)
我的想法是,流在文件的末尾,但我找不到如何重新定位流(没有seek()方法)
发布于 2014-10-23 01:49:49
您将需要重新打开流。有一些random access classes允许您移动到文件中的某个位置,但您将招致性能损失。此外,您还将自己进行双重读取。
我认为最好是将流中的数据读取到byte[]中,然后将其重用于这两个操作。
https://stackoverflow.com/questions/26513720
复制相似问题