当前位置: 代码迷 >> Java相关 >> 大侠帮忙啊解决方案
  详细解决方案

大侠帮忙啊解决方案

热度:6143   发布时间:2013-02-25 21:50:22.0
大侠帮忙啊!
以前用vb写了一个程序,把双精度的数组 读入到oracle里的blob中。现在我想用java把它读出来放再到double【】中

------解决方案--------------------------------------------------------
参考一下吧:
Java code
/**       * 从数据库下载数据       * @param filename       * @return int 0代表下在失败,1代表下载成功       */      public int downBlob(String filename){           BLOB blob=null;           String sql="SELECT file_ FROM blobtest WHERE filename=?";           //设立一个标志位,来监控整个运行流程           int result=0;           try {               conn.setAutoCommit(true);               pstm=conn.prepareStatement(sql);               pstm.setString(1, filename);               rst=pstm.executeQuery();               while(rst.next()){                   blob=(BLOB)rst.getBlob(1);                   result=1;               }               InputStream in=blob.getBinaryStream();               File file=new File("c:\\download_mj\\"+filename);               OutputStream out=new FileOutputStream(file);               byte[] buffer=new byte[1024*8];               int length=0;               //刚开始忘了加length结果读的是空的,还让我郁闷了很长时间,太粗心了还是。。。               while((length=in.read(buffer, 0, 1024*7))!=-1){                   result=1;                   out.write(buffer, 0, length);                   out.flush();               }               pstm.close();               out.close();               in.close();                          } catch (SQLException e) {               result=0;               e.printStackTrace();           } catch (FileNotFoundException e) {               result=0;               e.printStackTrace();           } catch (IOException e) {               result=0;               e.printStackTrace();           }           return result;       }
  相关解决方案