也许你取出来显示的时候程序已经帮你转成String了.
解决方案 »
- 主题:用log4j实现servlet 每个收发请求保存为单独的日志文件。
- 如何刷新 Terminal Window
- 有些专业英语单词不会,怎么办?
- 一个算法题:找一个最小的自然数x,使得:x=a*a*a+b*b*b=c*c*c+d*d*d
- 高分求解啊,大家帮帮忙啊.
- 两个初级的问题想不通,关于main()方法和构造方法
- 关于java的入门
- 高分求救!!JAVA高手请进!!!(在线等)
- 请问在jbuilder5中怎样设置连接池?
- 怎样在JAVA中实现断点继传的功能,有没有人知道?
- 关于Java Transaction API----------------------
- 100分求教:如何取得字符显示的长度
程序哪?
pstmt.setBytes(3,encyPwd);
pstmt.executeUpdate();
其中encyPwd是一个byte[]类型,存在数据库的一个叫PASSWORD,该字段是BLOB类型取数据是: if(rs.next()){
encyPwd=(byte[])rs.getBytes("passwordency");
}其中ENCYPWD是一个byte[]类型
但我在写入和打印的时侯就是
system.out.println(encypwd)发觉不一样
用Arrays.equals(inputEncyPwd,outputEncyPwd)也不一样,为什么??有什么解决办法吗?我是要出比较,现在还没做加密只是想得到写入和取出一致?
你传进去的是地址!
http://community.csdn.net/Expert/topic/3706/3706109.xml?temp=.6670801
1。先在blob中插入empty_blob()
2。获得对刚刚插入记录的引用
BLOB blob = (BLOB) rs.getBlob("你的blob字段名称");
3。写入
OutputStream out = blob.getBinaryOutputStream();
out.write(ENCYPWD);//注意这里
2.
InputStream is = picture.getBinaryStream();
int length = (int) blob.length();
byte[] buffer = new byte[length];
is.read(buffer);
is.close();
3.你有了is就随便处理了
比如说输出到一个文件
FileOutputStream fo = new FileOutputStream(filename);//数据到的文件名
fo.write(buffer);
fo.close();
上面的2的第一行为InputStream is = blob.getBinaryStream();