import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.ShortWritable;
import org.junit.Test;
public class TestWritable {
/*
* test writable
*/
@Test
public void test1() throws Exception {
IntWritable age = new IntWritable();
age.set(163);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dataOut = new DataOutputStream(baos);
// 序列化
age.write(dataOut);
dataOut.close();
byte[] bts = baos.toByteArray();
for (byte by : bts) {
System.out.println(by);
}
System.out.println(bts.toString());
// 反序列化
IntWritable age2 = new IntWritable();
age2.readFields(new DataInputStream(new ByteArrayInputStream(baos
.toByteArray())));
System.out.println(age2.get());
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
DataInputStream dis = new DataInputStream(bais);
System.out.println(dis.readInt());
// //测试用short类型方式的读取
// ShortWritable short1 = new ShortWritable();
// short1.readFields(dis);
// System.out.println(short1.get());
// ShortWritable short2 = new ShortWritable();
// short2.readFields(dis);
// System.out.println(short2.get());
}
}
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/192042.html