请问怎么把String 类型转换成Blob类型? 数据库里有个字段是BLOB类型,用来存文件内容的。现在我要往里面写东西,但是由于用了hibernate ,数据库的所有表项都被对象化了,所以我必须自己生成得到一个Blob对象。请问怎么把String的内容转换成BLob类型的? 目前只知道用字符流,可是不会写。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 InputStream String2InputStream(String str) { ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes()); return stream; }字符串转化为InputStream的函数 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注解就行了... 这段代码是我需要的,多谢。但是后面怎么做呢?InputStream怎么转化成blob类型呢?主要是这个不好弄,因为得不到初始化的blob类型。我总不能从数据库里读一个blob类型的量再给他复值巴,另外就算有一个可用的blob对象,用什么方法把InputStream传给它呢? 这段代码是我需要的,多谢。但是后面怎么做呢?InputStream怎么转化成blob类型呢?主要是这个不好弄,因为得不到初始化的blob类型。我总不能从数据库里读一个blob类型的量再给他复值巴,另外就算有一个可用的blob对象,用什么方法把InputStream传给它呢? 这段代码是我需要的,多谢。但是后面怎么做呢?InputStream怎么转化成blob类型呢?主要是这个不好弄,因为得不到初始化的blob类型。我总不能从数据库里读一个blob类型的量再给他复值巴,另外就算有一个可用的blob对象,用什么方法把InputStream传给它呢? public static Blob getBlogValue(String strValue,String charsetName){ Blob blobValue = null; try { byte[] bytes=strValue.getBytes(charsetName); System.out.println("byte[]:"+bytes); blobValue=Hibernate.createBlob(bytes); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return blobValue; } String charsetName=“ASCII”;//是字符集的名称 菜鸟两个关于number format的问题 [急]哪位高手指点一下 HashMap<fontFullName, fontPath> 在JPanel上画图显示不出来 求教!!! java 数据库连接池问题! 关于 System.out代码的疑问 内部类如何访问外部类的同名变量?请各位指教!~~谢谢~~~~~ 如何把一个字符串改成全角的字符串 如何编写自己的Java Component (求教)我想取得OS的系统信息,看了HELP文档,可是还是没搞明白~~~ 哪里有java教程的下载,最好是中文的,免费的 java中如何判断某个IP是否连通 为什么我这样不能限制JTextField的长度呢?
{
ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes());
return stream;
}字符串转化为InputStream的函数
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();}
InputStream怎么转化成blob类型呢?主要是这个不好弄,因为得不到初始化的blob类型。
我总不能从数据库里读一个blob类型的量再给他复值巴,
另外就算有一个可用的blob对象,用什么方法把InputStream传给它呢?
InputStream怎么转化成blob类型呢?主要是这个不好弄,因为得不到初始化的blob类型。
我总不能从数据库里读一个blob类型的量再给他复值巴,
另外就算有一个可用的blob对象,用什么方法把InputStream传给它呢?
InputStream怎么转化成blob类型呢?主要是这个不好弄,因为得不到初始化的blob类型。
我总不能从数据库里读一个blob类型的量再给他复值巴,
另外就算有一个可用的blob对象,用什么方法把InputStream传给它呢?
Blob blobValue = null;
try {
byte[] bytes=strValue.getBytes(charsetName);
System.out.println("byte[]:"+bytes);
blobValue=Hibernate.createBlob(bytes);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return blobValue;
}