2013-03-25 58 views
1

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

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

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

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

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

+0

关于对象序列化的论坛线程:http://forum.dlang。 org/thread/[email protected] – sigod 2013-03-25 21:24:39

+0

谢谢! 这正是我所期待的。 对我感到羞耻,我自己也找不到。 – lush 2013-03-25 21:37:55

回答

2

扩展答案,在评论中提供,值得明确指出,D不提供读/写文件的“一种真正的方式”,因为不能有一个最佳的方法。对速度,生成的文件格式,处理引用和类似的角落案例的不同考虑可能导致不同的序列化策略。这就是说,最有可能的是正确的序列化库,幸运的是,最成熟的D解决方案之一(Jacob Carlborg https://github.com/jacob-carlborg/orange的“Orange”)现在正在审查中,作为候选人加入标准库作为std.serializationnewsgroup thread。这可能是你最好的选择。

1

Unmanaged提供了一个序列化系统。您也有Orange 限制性较小,因为非托管序列化仅在序列化对象是框架基类之一的祖先时才起作用。但是...非托管对“访问者”原则起作用。序列化的数据是通过一种方法获得的,并且反序列化的数据是通过一种方法设置的,这允许在解串器召回时更新一些东西,例如...