将文本以字节数组存入oracle数据库中,查看oracle数据库,里面显示是BLOB,应该是二进制数据,那要如何完整的读取出来呢,试了很多方法,要么读出的是乱码,要么就是固定的一串开头为“[e“的字符,要么就是只有一个字符而且是不正确的,求教如何解决?该文本字段在javabean里的定义为byte[]。
因为要存入的文本字段很长,string不够存。

解决方案 »

  1.   

    你把Blob转换成String,再显示 public String BlobToString(Blob blob) throws SQLException, Exception
        {
         String result="";   
     try
            {
                if(blob!=null){
                 StringBuffer buffer = new StringBuffer();
         InputStream is = null;
         is = blob.getBinaryStream();
         InputStreamReader isr = new InputStreamReader(is);
         if (isr.ready()) {
         Reader reader = new BufferedReader(isr);
         int ch;
         while ((ch = reader.read()) > -1) {
         buffer.append((char) ch);
         }
         }
         isr.close();
         is.close();
         result=buffer.toString();
                }
            }catch (Exception e) {
             System.err.println("error : " + e.getMessage());
                //throw e;
                return result;
             }
           return result;
        }