⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.java~18~

📁 采用web2.0技术,采用动态标签,sql语句全部存储在数据库里面.开发速度快.
💻 JAVA~18~
字号:
package com.sztheater.biz.programe;
import java.sql.*;
import javax.sql.*;
import java.io.*;
import oracle.jdbc.driver.OracleResultSet;
import oracle.sql.BLOB;
public class test
{

   private Connection conn ;
   /**
    *构造方法,创建Connection对象,并且在数据库中添加一个表。
    */

   public void FreeConn()
   {
       try
       {
           if(conn != null)
               conn.close();
       }
       catch(Exception ex)
       {
           conn.close();
           ex.printStackTrace();
       }
       conn = null;
   }
   public test()throws Exception
   {
       String  strDriver = "oracle.jdbc.driver.OracleDriver";
       String strUrl = "jdbc:oracle:thin:@202.103.69.210:8521:ora9";
       String strUser = "nlbusi";
       String strPass = "nl8848busi";
       Class.forName(strDriver).newInstance();
       DriverManager.setLoginTimeout(15);
       conn = DriverManager.getConnection(strUrl, strUser, strPass);

      // conn.createStatement().execute("create table  blobtable(blobvalue blob)");
    }
    /**
     *写入Blob数据到数据库
     */
        public void addBlob(String fileName)throws Exception
        {
            conn.setAutoCommit(false);
            Statement stmt = conn.createStatement();
            stmt.execute("insert into blobtable values (empty_blob())");
            ResultSet rset = stmt.executeQuery("SELECT blobvalue FROM blobtable FOR UPDATE");
            BLOB blob = null;
            while (rset.next()) {
                blob = ((OracleResultSet) rset).getBLOB(1);
                System.out.println(blob.length());
            }
            File binaryFile = new File(fileName);
            System.out.println(fileName+"'s length = " + binaryFile.length());
            FileInputStream instream = new FileInputStream(binaryFile);
            OutputStream outstream = blob.getBinaryOutputStream();
            int chunk = blob.getChunkSize();
            System.out.println("chunk size = " + chunk);
            byte[] buffer = new byte[chunk];
            int length = -1;
            while ((length = instream.read(buffer)) != -1)
                outstream.write(buffer, 0, length);
            instream.close();
            outstream.close();
            conn.commit();
        }
        /**
         *从数据库读取blob数据,并且保存在文件系统。
         */
     public void readBlob(String fileName)throws Exception
          {
           conn.setAutoCommit(false);
            Statement stmt = conn.createStatement();
            ResultSet rset = stmt.executeQuery("SELECT blobvalue FROM blobtable");
            BLOB blob = null;
            while (rset.next()) {
                blob = ((OracleResultSet) rset).getBLOB(1);
                System.out.println(blob.length());
            }
            FileOutputStream file_out = new FileOutputStream(new File(fileName));
            InputStream blob_in = blob.getBinaryStream();
            int temp;
            while((temp=blob_in.read())!=-1)
            file_out.write(temp);//读取数据、写入文件系统

            file_out.close();
            blob_in.close();
            conn.commit();
        }
        public static void main(String args[])
        {
            test bean = null;
            try {
                bean = new test();
                bean.addBlob("D:\\image\\xyb_1.gif");
                bean.readBlob("D:\\image\\11.gif");
                bean.FreeConn();
            }
            catch(Exception ex) {
                ex.printStackTrace();
            }
        }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -