我在mongoDB中将我的一个案例类实例'Alert'存储为二进制文件。 我必须阅读并输入现金以“提醒”。
我试过这个
object MongoMain extends App {
val uri = new MongoURI("url")
val mongoColl = MongoConnection(uri)("testdb")("alert")
val q = MongoDBObject("_id" -> ObjectId.massageToObjectId("5269c718ebb2e54b950a1cc1"))
// println(mongoColl.findOne(q))
mongoColl.find(q).foreach { z ⇒
z.get("message").getClass match {
case data: Class[Binary] ⇒ println(data.getSimpleName)
case _ ⇒
}
}
}
这个打印字节[],即在我必须将其转换为Alert后将其作为byte []重新获取。我该怎么办,需要帮助:
答案 0 :(得分:1)
尝试使用以下功能,希望它有用。
def deserializeAlert(data: Array[Byte]): Alert ={
try {
val in = new ObjectInputStream(new ByteArrayInputStream(data))
val alert = in.readObject.asInstanceOf[Alert]
in.close()
alert
}
catch {
case cnfe: ClassNotFoundException => {
cnfe.printStackTrace()
null
}
case ioe: IOException => {
ioe.printStackTrace()
null
}
}
}