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());
}
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。