动机:
为了帮助进行远程调试(Java),能够请求远程服务器将任意对象发送到我的本地计算机进行检查很有用.但是,这意味着远程服务器必须能够序列化运行时预先未知的任意java对象.
所以我问了一下,偶然发现了Kryo serialization library.从Kryo’s documentation开始,一个主要功能是在序列化任意Java对象方面非常强大.对象不必实现Serializable,也不需要no-arg构造函数进行反序列化,并且我什至不需要在序列化之前了解有关对象结构的任何知识.完善!
问题:
因此,为了测试Kryo,我尝试查看是否可以序列化然后反序列化PrintWriter对象(即任意对象):
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.io.Input;
import com.esotericsoftware.kryo.io.Output;
import java.io.*;
public class SerializationTest {
private static final String ioFileName = "someIO.bin";
public static void main(String[] args) {
// Create a PrintWriter object that I will later attempt to serialize
PrintWriter outObj = null;
try {
outObj = new PrintWriter("textfile.txt");
} catch (FileNo