晕倒一片
ejb的书一大堆网上搜索第二个问题sample:
  FileInputStream longInput_modify=new FileInputStream("D:\\testfile\\install.jpg");
  byte[] longStr_modify=new byte[longInput_modify.available()];
  longInput_modify.read(longStr_modify);
  longInput_modify.close();

解决方案 »

  1.   

    这是写入数据库,读出来类似,过程相反package word;
    import java.util.*;
    import java.sql.*;
    import java.io.*;
    import java.text.*;
    import oracle.sql.*;
    import oracle.jdbc.driver.*;public class write {  public static void main(String[] args) throws SQLException,IOException
      {
        PreparedStatement stmt = null;
        ResultSet rs =  null;
        InputStream fin = null;
        OutputStream fout = null;
        Connection conn=null;
        try{
        DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
        conn =DriverManager.getConnection ("jdbc:oracle:thin:@wuhan:1521:oral",
       "system", "manager");
        conn.setAutoCommit(false);    stmt=conn.prepareStatement("insert into  tt values (?,EMPTY_BLOB() ) ");
        stmt.setInt(1,2);
        stmt.execute() ;
        stmt.clearParameters() ;
        stmt=conn.prepareStatement( "select w from tt where id=? for update ");
        stmt.setInt(1,2);
        rs=stmt.executeQuery() ;
        if(rs.next()) {
    BLOB blob = ((OracleResultSet)rs).getBLOB("w");
    fout = blob.getBinaryOutputStream();
    File f = new File("gj2.doc");
    fin = new FileInputStream(f);
    byte[] buffer = new byte[blob.getBufferSize()];
    int bytesRead = 0;
    while((bytesRead = fin.read(buffer)) != -1) {
    fout.write(buffer, 0, bytesRead);
    } blob = null;
    f = null;
    buffer = null;
    }
      }
      catch(SQLException ex) {
    ex.printStackTrace(); }
    catch(FileNotFoundException ef) {
    ef.printStackTrace(); }
    catch(Exception e) {
    e.printStackTrace(); } finally {
    try {
    fin.close();
    fout.close();
    conn.commit();
    stmt.close();
    conn.close();
    fin = null;
    fout = null;
    rs = null;
    conn = null;
    stmt = null;
    }
                            catch(SQLException e) {
    e.printStackTrace();
    }
                            }
    }}
      

  2.   

    public class getimage {
      public void initializeDB()
        {
            try
            {
                mStatement=conn.createStatement();
                ResultSet rsInsert =mStatement.executeQuery("select * from imageTable");
                ResultSetMetaData rsmdInsert=rsInsert.getMetaData();
                for (int i = 1; i <= rsmdInsert.getColumnCount();i++)
                {
                    mTestImageDb.jCBColumnName.addItem(rsmdInsert.getColumnName(i));
                }
                while (rsInsert.next())
                {
                     miCurrentCount++;
                     mTestImageDb.jCBRowNumber.addItem(String.valueOf(miCurrentCount));
                 }            rsmdInsert = null;
                rsInsert.close();
                rsInsert = null;
                mStatement.close();
                mStatement= null;
                System.err.println(miCurrentCount);
            }
            catch (Exception exInit)
            {
                System.err.println("initializeDB error:"+exInit);
            }    }public boolean insertImage(File f)
        {
            String StrSql = "insert into imageTable values (?,?,?,?,?,?,?)";
            String sFile = f.getName();        try
            {
            // File f = new File("e:\\T14.gif");
                fin = new FileInputStream(f);
                /*//////////////////////////////////////通过字节数组来存入数据库
        /**        byte[] ib = new byte[(int)f.length()];
                fin.read(ib);
                ByteArrayInputStream fou1 = new ByteArrayInputStream(ib);
                */
       /**         ps = conn.prepareStatement(StrSql);            ps.setInt(1,miCurrentCount+1);
                ps.setString(2,sFile);
                ps.setString(3,sFile.substring(sFile.length()-3));
                ps.setString(4,f.getPath());
                ps.setInt(5,(int)f.length());
                ///时间
                Calendar cc = new GregorianCalendar();
                ps.setTimestamp(6,new Timestamp(cc.getTime().getTime()),cc);
                /////////////////////////////////////////////////
                int len = (int)f.length();
                ps.setBinaryStream(7,fin,len);
                ps.setBlob();
                ps.executeUpdate();
                ps.clearParameters();
            }
            catch ( Exception ex )
            {
                ex.printStackTrace();
                return false;
            }        miCurrentCount++;
            mTestImageDb.jCBRowNumber.addItem(String.valueOf(miCurrentCount));        return true;
        }    public boolean getImage()
        {
            try
                {
                    fou = new FileOutputStream("e:\\temp\\2.jpg");                st = conn.createStatement();
                    rs = st.executeQuery("Select * from imageTable ");            // rs.molast();
                    //System.out.println("当前数据库中的行数:" + rs.getInt("id"));
                    //rs.first();
                    while (rs.next())
                    {
                        int dLength = rs.getInt("ImageLength");
                        InputStream imagedata = rs.getBinaryStream("image");                    idata = new byte[dLength];                    int rec = imagedata.read(idata);
                        /*char[] c = new char[dLength];
                        for(int i2 = 0 ; i2 < dLength ; i2 ++)
                        {
                            c[i2] = (char)idata[i2];
                        }
                        c2b(c);*/
          /**              ImageIcon mImageIcon = new ImageIcon(idata);
                        this.mTestImageDb.jLImage.setIcon(mImageIcon);
                        fou.write(idata);
                        //idata = null;
                    }                rs.close();
                    st.close();
                    fou.close();
                }
                catch (Exception ex )
                {
                    ex.printStackTrace();
                    return false;
                }            return true;
        }}
    仅共参考!第一个问题:www.cn-java.com go to find it