1

我正在尝试从/向文件写入/读取类对象。
我是 D 的新手,我只是想玩一下它。

是否有一个类/函数可以将对象写入文件/从文件读取对象?
我正在寻找类似于ObjectOutputStreamJava 中的类的东西。

还是我必须将对象的变量序列化(连接)为文件中的字符串?

我有一个Movie类和一个MovieManager类,其中包含一个动态电影数组。

一个Movie对象只包含几个字符串和整数值。

4

2 回答 2

2

扩展答案,在评论中提供,值得明确指出,D 没有提供从文件读取/写入对象的“一种真正的方式”,因为不可能有一个最佳的方式。关于速度、生成的文件格式、处理引用和类似极端情况的不同考虑可能会导致不同的序列化策略。

话虽如此,很可能需要适当的序列化库,并且幸运的是,目前正在审查最成熟的 D 解决方案之一(Jacob Carlborg https://github.com/jacob-carlborg/orange的“Orange”)作为包含在标准库中的候选std.serialization新闻组线程。这可能是你最好的选择。

于 2013-03-27T10:02:24.957 回答
1

Unmanaged库提供了一个序列化系统。您还拥有限制较少的Orange ,因为非托管序列化仅在要序列化的对象是框架基类之一的祖先时才有效。但是......非托管根据“访问器”原则工作。序列化的数据是通过一个方法获取的,反序列化的数据是通过一个方法设置的,它允许在反序列化器调用时更新一些东西,例如......

于 2013-03-27T18:02:48.443 回答