你的问题和 blob 没有关系。在ByteBuffer 里存的数字就是你在 plsql 看到的那样。请仔细理解 ByteBuffer。
以下是我针对你的问题作的一个例子,你执行一下。
import javanioByteBuffer;
public class TestByteBuffer {
public static void main(String[] args) {
ByteBuffer bb = ByteBufferallocate(10836);
bbposition(0);
bbputInt(1);
Systemoutprintln("赋值后buff的状态 :"+bb);
byte [] b1 = bbarray();
//以下打印的数组不是真正的数值,只是开辟空间后的一个排列顺序
for (int i = 0; i < b1length; i++) {
Systemoutprint(b1[i]);
}
Systemoutprintln();
bbflip();
Systemoutprintln("反转后buff的状态 :"+bb);
byte [] b2 = new byte [bbremaining()];
//b2中的数字才是buff中真实的数字,千万不要混淆。
bbget(b2);
Systemoutprint("从 buff 中取到的数值 :");
for (int i = 0; i < b2length; i++) {
Systemoutprint(b2[i]);
}
Systemoutprintln();
Systemoutprintln("取值后buff的状态 :"+bb);
}
} 答案补充 按照你的意思,我写了一个类,已经实现了你的要求。可是我现在最多只能补充回答 500 个字,没有办法发给你。
我已经发到以下地址了,你去看一下吧,应该可以的。
>
将byte数组存入数据库时出现null值,可能是由于数据库中没有足够的空间来存储byte数组,或者数据库中的字段类型不正确,或者byte数组的长度超过了数据库中字段的最大长度。因此,在将byte数组存入数据库之前,应该先检查数据库中的字段类型是否正确,并确保byte数组的长度不超过数据库中字段的最大长度。
以上就是关于Java中向Oracle数据库Blob字段中插入byte[]相关问题, 高手来全部的内容,包括:Java中向Oracle数据库Blob字段中插入byte[]相关问题, 高手来、怎样把变量byte[]型数组中二进制数据插入到数据库中、byte数组存入数据库总是null等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)