How to Deserialize java.util.ArrayList from Scala
Problem
We have a Java object, in my case java.util.ArrayList
of strings, serialized with native Java serializer and base-64 encoded. I need to get out the array of strings in Scala.
Solution
import java.io._
import java.util.{ArrayList, Base64}
val arrayListString = "rO0..."
// get data bytes from base-64 encoded string
val arBytes = Base64.getDecoder.decode(arrayListString)
// use standard Java object serializer
val arOis = new ObjectInputStream(new ByteArrayInputStream(arBytes))
//deserialize
val arDes = arOis.readObject().asInstanceOf[ArrayList[String]]
To contact me, send an email anytime or leave a comment below.