Kryo 序列化

磁盘序列化

Kryo kryo =  new  Kryo();
// ...
Output output =  new  Output( new  FileOutputStream( "file.bin" ));
SomeClass someObject = ...
kryo.writeObject(output, someObject);
output.close();
// ...
Input input =  new  Input( new  FileInputStream( "file.bin" ));
SomeClass someObject = kryo.readObject(input, SomeClass. class );
input.close();
 
网络序列化
 
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;

import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.io.Input;
import com.esotericsoftware.kryo.io.Output;
import com.taobao.metamorphosis.example.spring.messages.Trade;

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Kryo kryo = new Kryo();
		ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
		Output output = new Output(outputStream);

		Trade trade = new Trade();
		trade.setId(1);
		trade.setMoney(12);
		trade.setName("fsdfdsdsfdsfsdfd");
		trade.setAddress("中文");
		kryo.writeObject(output, trade);
		output.close();

		byte[] mesg = outputStream.toByteArray();

		System.out.println(new String(mesg));
		InputStream is = new ByteArrayInputStream(mesg);
		Input input = new Input(is);

		Trade t = kryo.readObject(input, Trade.class);
		input.close();
		String s=t.getAddress();
		System.out.println(s);
	}

}
 

猜你喜欢

转载自kavy.iteye.com/blog/2169490