import java.io.{FileInputStream, FileOutputStream, ObjectInputStream, ObjectOutputStream}
/*
*
*
*
* */
package One {
// 序列化对象
object ObjectOutputStreamTest extends App {
// 1. 创建流对象
val outPath = "sparkcore/src/main/data/Person.data"
private val outputStream = new ObjectOutputStream(new FileOutputStream(outPath))
// 2. 序列化对象 持久化到磁盘
outputStream.writeObject(new Person)
// 3. 关闭流
outputStream.close
println("序列化完成")
}
// 反序列化对象
object ObjectInputStreamTest extends App {
// 1. 创建流对象
val outPath = "sparkcore/src/main/data/Person.data"
private val inputStream = new ObjectInputStream(new FileInputStream(outPath))
// 2. 读取二进制 将对象反序列化到内存
private val readObject = inputStream.readObject.asInstanceOf[Person]
println(readObject)
readObject.show
// 3. 关闭流
inputStream.close
}
// Person对象
class Person extends Serializable {
val id = 10
val name = "大王"
var sum = 19.8
val serialVersionUID: Long = 888L
def show = println("Person - show")
override def toString = s"Person($id, $name, $sum)"
}
}