Skip to content

Instantly share code, notes, and snippets.

@Miuler
Created November 14, 2013 21:40
Show Gist options
  • Save Miuler/7474798 to your computer and use it in GitHub Desktop.
Save Miuler/7474798 to your computer and use it in GitHub Desktop.
Ejemplo de serialización de objectos usando la shell de scala
scala> val baos = new java.io.ByteArrayOutputStream()
scala> val baos = new java.io.ByteArrayOutputStream()
baos: java.io.ByteArrayOutputStream =
scala> val oops = new java.io.ObjectOutputStream(baos)
oops: java.io.ObjectOutputStream = java.io.ObjectOutputStream@60c40d9c
scala> case class Persona(name:String, age:Int) extends Serializable
defined class Persona
scala> val p = Persona("Miuler", 34)
p: Persona = Persona(Miuler,34)
scala> oops.writeObject(p)
scala> oops.close()
scala> val b = baos.toByteArray
b: Array[Byte] = Array(-84, -19, 0, 5, 115, 114, 0, 28, 36, 108, 105, 110, 101, 55, 46, 36, 114, 101, 97, 100, 36, 36, 105, 119, 36, 36, 105, 119, 36, 80, 101, 114, 115, 111, 110, 97, -67, -88, 48, -22, -29, 108, 123, 118, 2, 0, 2, 73, 0, 3, 97, 103, 101, 76, 0, 4, 110, 97, 109, 101, 116, 0, 18, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 120, 112, 0, 0, 0, 34, 116, 0, 6, 77, 105, 117, 108, 101, 114)
scala> val bais = new java.io.ByteArrayInputStream(b)
bais: java.io.ByteArrayInputStream = java.io.ByteArrayInputStream@3dd1c356
scala> val ois = new java.io.ObjectInputStream(bais)
ois: java.io.ObjectInputStream = java.io.ObjectInputStream@50417024
scala> val x = ois.readObject()
x: Object = Persona(Miuler,34)
scala> b
res3: Array[Byte] = Array(-84, -19, 0, 5, 115, 114, 0, 28, 36, 108, 105, 110, 101, 55, 46, 36, 114, 101, 97, 100, 36, 36, 105, 119, 36, 36, 105, 119, 36, 80, 101, 114, 115, 111, 110, 97, -67, -88, 48, -22, -29, 108, 123, 118, 2, 0, 2, 73, 0, 3, 97, 103, 101, 76, 0, 4, 110, 97, 109, 101, 116, 0, 18, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 120, 112, 0, 0, 0, 34, 116, 0, 6, 77, 105, 117, 108, 101, 114)
scala>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment