用oracle的blob对象存文件。
插入是获取的文件大小
BufferedInputStream in = new BufferedInputStream(new FileInputStream(infile)); 
    System.out.println(in.available()+"||"+in.read());
结果:1364||99
读取是获取的文件大小
 BufferedInputStream in = new BufferedInputStream(blob.getBinaryStream()); 
    System.out.println(in.available()+"||"+in.read());
结果:0||101
最总结果:原文件的开头是“--” 读出来之后的文件没有了“--”。这个是什么原因导致的呢?
问题有不明白的地方可以提,我会不出的( ^_^ ) 谢谢。

解决方案 »

  1.   

    经过查找,是加入测试代码的时候错了 也就是  “System.out.println(in.available()+"||"+in.read());”这句话错了,因为in.read已经读了一次了,所以入库的时候就少了这一次。把图片直接上传到服务器也是个办法,我只想测试一下直接入库,因为这样保持固定的几个图片的话可以保证数据的一直性,防止误操作把放图片的文件夹给删了。