cwx 发表于 2018-10-29 10:02:57

Hadoop学习--int类型的序列化和反序列化--day07

  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>  /*
  * 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());
  }
  }

页: [1]
查看完整版本: Hadoop学习--int类型的序列化和反序列化--day07