隨筆-71  評論-4  文章-0  trackbacks-0
          package com.hbky.bo;

          import java.io.BufferedInputStream;
          import java.io.BufferedOutputStream;
          import java.io.File;
          import java.io.FileInputStream;
          import java.io.FileNotFoundException;
          import java.io.IOException;
          import java.io.InputStream;
          import java.io.OutputStream;
          import java.sql.Connection;
          import java.sql.DriverManager;
          import java.sql.PreparedStatement;
          import java.sql.ResultSet;
          import java.sql.SQLException;
          import java.sql.Statement;

          import oracle.sql.BLOB;

          public class FilmBo {
          Connection con;
              
              
          public FilmBo(){
                  
          try {
                      Class.forName(
          "oracle.jdbc.driver.OracleDriver");
                  }
           catch (ClassNotFoundException e) {
                      e.printStackTrace();
                  }

              }

              
              
          /**
               * 取出blob試驗數據
               *
               
          */

              
          public void getBlob(BufferedOutputStream out){
                  BufferedInputStream in 
          = null;
                  
                  
          try {

                      con
          =DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:zhanglei""scott","tiger");

                      con.setAutoCommit(
          false);

                      PreparedStatement pre 
          = con.prepareStatement("select fname,fblob from ftp_test where fid = ?");

                      pre.setString(
          1,"00001");

                      ResultSet set 
          = pre.executeQuery();
                      
                      
          if(set.next()){
                          in 
          = new BufferedInputStream(set.getBlob("fblob").getBinaryStream());

          //                BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(new File("c:\"+set.getString("fname"))));

                          
          byte[] buffer = new byte[1024];

                          
          int i = 0;
                          
                          
          while((i = in.read(buffer)) != -1){
                              out.write(buffer,
          0,i);
                          }


                          out.flush();
                          System.out.println(
          "******************************");

                          in.close();

                          out.close();
                          
                          con.commit();
                      }


                      pre.close();

                      con.close();
                      
                  }
           
          //        catch (FileNotFoundException e) {
          //            try {
          //                con.rollback();
          //            } catch (SQLException e1) {
          //                e1.printStackTrace();
          //            }
          //            e.printStackTrace();
          //        } 
                  catch (SQLException e) {
                      
          try {
                          con.rollback();
                      }
           catch (SQLException e1) {
                          e1.printStackTrace();
                      }

                      e.printStackTrace();
                  }
           catch (IOException e) {
                      
          try {
                          con.rollback();
                      }
           catch (SQLException e1) {
                          e1.printStackTrace();
                      }

                      e.printStackTrace();
                  }

                  
              }

              
          /**
               * 插入blob試驗數據
               
          */

              
          public void insertBlob(){
                  
                  
          try {
                      Connection con 
          = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:zhanglei""scott""tiger");
                      con.setAutoCommit(
          false);
                      Statement st 
          = con.createStatement();
                      st.executeUpdate(
          "insert into ftp_test(fid,fblob,fname)  values('00002',empty_blob(),'test.jpg')");
                      ResultSet rs 
          = st.executeQuery("select fblob from  ftp_test  where  fid='00002' for update");
                      
          if (rs.next()) {
                          BLOB blob 
          = (BLOB) rs.getBlob(1);
                          OutputStream outStream 
          = blob.getBinaryOutputStream();
                          File file 
          = new File("F:\pic\CIMG4386.jpg");
                          InputStream fin 
          = new FileInputStream(file);
                          
          byte[] b = new byte[blob.getBufferSize()];
                                  
          int len = 0;
                                  
          while ( (len = fin.read(b)) != -1{
                                    outStream.write(b, 
          0, len);
                                  }

                          fin.close();
                          outStream.flush();
                          outStream.close();
                          con.commit();
                          con.close();

                      }

                  }
           catch (FileNotFoundException e) {
                      
          try {
                          con.rollback();
                      }
           catch (SQLException e1) {
                          e1.printStackTrace();
                      }

                      e.printStackTrace();
                  }
           catch (SQLException e) {
                      
          try {
                          con.rollback();
                      }
           catch (SQLException e1) {
                          e1.printStackTrace();
                      }

                      e.printStackTrace();
                  }
           catch (IOException e) {
                      
          try {
                          con.rollback();
                      }
           catch (SQLException e1) {
                          e1.printStackTrace();
                      }

                      e.printStackTrace();
                  }

                  
              }

          }

          posted on 2007-10-27 20:33 zjw_albert 閱讀(1003) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 平谷区| 阳城县| 新泰市| 华亭县| 鄱阳县| 灵璧县| 大连市| 桂阳县| 石河子市| 广南县| 广灵县| 嘉兴市| 塔河县| 光山县| 遂溪县| 安国市| 奉贤区| 宜春市| 青州市| 乐平市| 大足县| 富民县| 含山县| 太仓市| 昌江| 昌都县| 南阳市| 嘉善县| 贺兰县| 黄石市| 图片| 饶平县| 潞城市| 卢氏县| 乌兰察布市| 廊坊市| 开鲁县| 苍南县| 闵行区| 濉溪县| 肥西县|