java - 如何写入/读取表示对象的二进制文件?

标签 java binaryfiles

我是 Java 编程的新手,遇到了这个问题:

我正在创建一个程序来读取 .csv 文件,将其行转换为对象,然后操作这些对象。 更具体地说,应用程序读取每一行并为其提供索引,还从这些行中读取某些值并将它们存储在 TRIE 树中。 然后,应用程序可以从存储在树中的值中读取索引,然后检索相应行的完整信息。

我的问题是,尽管最近几天我一直在研究,但我不知道如何将这些结构写入二进制文件,也不知道如何读取它们。 我想在二进制索引文件中写入行(及其索引),并只读取我从 TRIE 中检索到的确切索引。

对于树的写作,我一直在寻找这样的东西(在 C 中)

fwrite(tree, sizeof(struct TrieTree), 1, file)

对于“二进制索引文件”,我正在考虑编写像 TRIE 这样的对象,并且可能读取每个对象直到我读取足够多以达到相应的索引,但这可能不是很有效。

概括地说,我需要帮助编写和读取二进制文件中的对象以及有关如何创建索引文件的解决方案。

最佳答案

我认为您(对于初学者)最好在尝试使用序列化时做到这一点。

这只是来自 stackoverflow 的一个示例:What is object serialization?

(我觉得复制粘贴代码没有意义,请点击链接阅读)

不可否认,这还没有解决您的索引创建问题。

关于java - 如何写入/读取表示对象的二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30791759/

相关文章:

python - 使用python3读取二进制文件

io - 在 Nim 中写入/读取二进制文件

image - 如何在 MATLAB 中读取 RAW RGB 图像?

c++ - 在 C(或 C++)中循环遍历 WAV 文件

Java 分数计数器与类

java - 正确配置spring security oauth2

Java 静态方法、通配符/通用返回类型

java - flutter :The shrinker may have failed to optimize the Java bytecode

java - 为什么数据库连接对象或连接池需要做成单例?

npm - 在私有(private)网络上托管 github 发布