日期:2014-05-20  浏览次数:21346 次

请问怎么把String 类型转换成Blob类型?
数据库里有个字段是BLOB类型,用来存文件内容的。
现在我要往里面写东西,但是由于用了hibernate ,数据库的所有表项都被对象化了,所以我必须自己生成得到一个Blob对象。

请问怎么把String的内容转换成BLob类型的? 目前只知道用字符流,可是不会写。

------解决方案--------------------
Java code
    InputStream String2InputStream(String str)
    {
        ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes());
        return stream;
    }

------解决方案--------------------
Blob blob=rs.getBlob("CONTENT");
BufferedReader BlobStream = new BufferedReader(Blob.getCharacterStream());
StringBuffer stringBuffer = new StringBuffer();

int nchars = 0; 

char[] buffer = new char[10];
while((nchars = BlobStream.read(buffer)) != -1 )

stringBuffer.append(buffer, 0, nchars);

BlobStream.close();

strDbText = Util.strTrim(stringBuffer.toString());

方法二:
BufferedReader reader = new BufferedReader(Blob.getCharacterStream());

String bb=reader.readLine();

while(bb!=null){

content += bb;

bb = reader.readLine();

}

------解决方案--------------------
在你hibernate的实体bean里的那个String字段上加上一个@Blob注解就行了...