保存数据结构的类型信息

时间:2011-11-28 10:07:12

标签: file scala serialization types persistent

我正在为我的日常任务构建一个框架。我使用很多类型参数在scala中编程。

现在我的目标是将数据结构保存到文件(例如xml文件)。但我意识到使用xml文件是不可能的。我正在问这个问题的新手:

有没有办法将我的数据结构类型存储在文件中? scala中有没有办法???

1 个答案:

答案 0 :(得分:4)

好的伙计们。你通过命名我搜索过的东西基本上做得很好。

它的序列化。

考虑到这一点,我在网上搜索并完全被java的这个功能所震惊。 现在我做了类似的事情:

object Serialize {

  def write[A](o: A): Array[Byte] = {
    val ba = new java.io.ByteArrayOutputStream(512)
    val out = new java.io.ObjectOutputStream(ba)
    out.writeObject(o)
    out.close()
    ba.toByteArray()
  }

  def read[A](buffer: Array[Byte]): A = {
    val in = new java.io.ObjectInputStream(new java.io.ByteArrayInputStream(buffer))
    in.readObject().asInstanceOf[A]
  }
}

生成的字节数组可以写入文件,并且可以很好地完成。

我完全可以理解这个解决方案不是人类可读的。如果有一天我的思想发生变化整个网络都有JSON解析器。