import java.io.ByteArrayInputStream;java
import java.io.ByteArrayOutputStream;apache
import java.io.DataInputStream;ide
import java.io.DataOutputStream;oop
import org.apache.hadoop.io.IntWritable;測試
import org.apache.hadoop.io.ShortWritable;spa
import org.junit.Test;hadoop
public class TestWritable {get
/*it
* test writableio
*/
@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());
}
}