我现在想把存在oracle中的图片,从中导出,由于数量比较大,导出的速度很慢,我把图片一个个取出来,然后在写入到本地的硬盘,代码如下:                      BufferedOutputStream out = new BufferedOutputStream(new
                          FileOutputStream("文件名"));
                      BufferedInputStream in = new BufferedInputStream(rs.getBinaryStream("Blob类型字段"));
                      int c;
                      while ( (c = in.read()) != -1) {
                        out.write(c);
                      }
                      in.close();
                      out.close();
                      out=null;
                      in=null;有没有高手做过呀!在线等~~~~~~~~~~~~~~~

解决方案 »

  1.   

    有几点不明白的
    1。从数据库中出来保存成什么文件?
    如果你要保存图片文件,那么你需要对image对象编码才可以保存
    2。可以告诉如果是Ora服务器绝对不会慢,我做过的一个WEB3D项目,1M的数据都不慢。
    也许你代码的问题。
    另外我尝试在一个网页中有将近60张的图片是从Ora中读出来的,不慢啊
      

  2.   

    保存的是二进制,存进去的也是.tif图片,读出来也是.tif图片
    现在要把这些存在数据库中的图片,导出来保存到本地.
    读是不慢的,批量读的时候慢,有200多万条,把这些图片一起导出.耗时很长,用我的代码.
      

  3.   

    楼上的什么逻辑,算法不优化用什么都没用,我认为楼主应该试一下nio
      

  4.   

    按一个图片10K来算,
    1W的图片 = 10K * 10000 = 100 000 = 100 M;
    200W图片 = 1W * 200 = 100M * 200 = 20 000 M = 20 G. 天啊,多大的数据啊..