关于IO流中InputStream 与 FileInputStream的问题

同样的文件为什么用InputStream先read()后available()得出的文件大小与FileInputStream直接available()得出的文件大小不一致呢?我用的是mongoDB接收的图片,测试的时候用的GridFsTemplate的findOne()方法查询出的图片返回的一个GridFSDBFile对象,这个对象中有一个getInputStream方法可以返回一个InputStream,这个InputStream必须先read才能查出文件大小,但是与直接用FileInputStream测试数值不一样,差1,请大神指教

http://blog.csdn.net/caixiexin/article/details/6719407/