首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重用FileInputStream

重用FileInputStream
EN

Stack Overflow用户
提问于 2014-10-23 01:42:31
回答 1查看 1.2K关注 0票数 0

对于一个大学项目,我应该编写一个数据库,将图片保存在h2数据库中,并在ImageView中显示它。

代码语言:javascript
复制
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()方法)

EN

回答 1

Stack Overflow用户

发布于 2014-10-23 01:49:49

您将需要重新打开流。有一些random access classes允许您移动到文件中的某个位置,但您将招致性能损失。此外,您还将自己进行双重读取。

我认为最好是将流中的数据读取到byte[]中,然后将其重用于这两个操作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26513720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档