向/从文件D-Lang写入/读取类对象

时间:2013-03-25 20:02:22

标签: oop class io d

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

是否有类/函数可以在文件中写入/读取对象? 我正在寻找类似于Java中ObjectOutputStreamсlass的东西。

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

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

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

2 个答案:

答案 0 :(得分:2)

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

话虽如此,很可能需要适当的序列化库,幸运的是,最成熟的D解决方案之一(Jacob Carlborg的“Orange”https://github.com/jacob-carlborg/orange)正在进行审查,作为候选人作为std.serializationnewsgroup thread进入标准库。这可能是你最好的选择。

答案 1 :(得分:1)

Unmanaged提供了序列化系统。你也有Orange  限制性较小,因为非托管序列化只有在序列化对象是其中一个框架基类的祖先时才有效。但是...... Unmanaged工作在“访问器”原则上。序列化的数据是通过一种方法获得的,并且反序列化的数据是通过一种方法设置的,该方法允许在解串器调用时更新一些内容,例如......