摘要:
今天项目中有一个“印章管理”的功能,一直运行的没什么问题,今天突然在插入印章的时候出现了错误,后来跟了一下代码,发现当底层数据库为Postgresql时,我们将一个印章(也就是一个jpg的图片)写入数据库时,出现了错误。原来的插入代码如下: 1. PreparedStatement ps = conn.prepareStatement("INSERT INTO images VALUES (?, ?)");2. ps.setString(1, file.getName());3. ps.setBinaryStream(2, fis);问题出现在第三行,原来在Postgres 阅读全文
摘要:
今天写一个读写程序,运用到InputStream的reset方法是发现竟然失败了,然后查了一下JDK源码,发现BufferInputStream重写了父类FilterInputStream的mark和resetf方法,其有支持 mark 和 reset 方法的能力。而FileInputStream则没有重写父类InputStream的这两个方法,其不具有mark和reset方法的能力。在JDK源码中,写到 publicsynchronizedvoidmark(intreadlimit) 在该输入流中标记当前位置。后续调用reset方法重新将流定位于最后标记位置,以便后续读... 阅读全文