Hadoop學習--int類型的序列化和反序列化--day07

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());


}

}

相關文章
相關標籤/搜索