java - 具有未知数据类型的 Berkeley DB 元组

标签 java berkeley-db

我正在使用 Berkeley 数据库(使用 Java)。我需要读取一个元组,其中序列是一个字符串,一个 int 或 long,然后是另一个字符串。我如何确定元组是 int 型还是 long 型?根据元组包含的内容,我将执行以下操作之一:

String s1 = input.readString();
int num1 = input.readInt();
String s2= input.readString();

or

String s1 = input.readString();
long num1 = input.readLong();
String s2= input.readString();

int 为 4 个字节,long 为 8 个字节。如果元组包含一个 int,而我将其读入 long,则会得到一个无效值,因为它将 4 字节 int + 4 字节的后续字符串转换为 long。

最佳答案

您可能想在 Berkeley DB 上问这个问题或 Berkeley DB Java Edition论坛,具体取决于您使用的是哪个库。此外,您可能想要指定您正在使用的 API:键值对、Java 集合或直接持久层。这将有助于更好地理解是否有任何方法可以确定记录结构是什么样的。

例如,如果您使用的是键值对 API,则记录中不包含“编码”或“模式”。由调用应用程序决定记录的结构是什么样的。

Java 集合和直接持久层 API 确实对记录的外观有一些概念。您可能会发现 Java Collections Tutorial有用,还有Java examples包含在产品下载中。

关于java - 具有未知数据类型的 Berkeley DB 元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5113821/

相关文章:

database - perl 中的 BerkeleyDB 可以处理哈希的哈希(最多 n 个)吗?

java - 是否可以将 Legend 添加到 JFreeChart 中的绘图中?

java - 如何在 hibernate/spring 中使用 LOCK IN SHARE MODE?

python - Berkeley DB 的最佳 Python 模块?

redhat - 从源代码构建 OpenLDAP 而缺少 BerkelyDB

c - 执行字符串操作时出现一些错误

java - Berkeley DB Java 版是否支持非相等搜索?

java - 为什么 AbstractOwnableSynchronizer.exclusiveOwnerThread 没有声明为 volatile?

java - 用于分发(分片)集合(如列表、集合等)键的任何解决方法

java - 为什么我的 MultipartFile 是空的