首先创建两个类
两个类的代码
Student类:
import org.apache.hadoop.io.Writable;import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;public class Student implements Writable {public Student(String name, int age) {this.name = name;this.age = age;}public Student() {}public String name;public int age;@Overridepublic void write(DataOutput dataOutput) throws IOException {dataOutput.writeUTF(name);dataOutput.writeInt(age);}@Overridepublic void readFields(DataInput dataInput) throws IOException {name = dataInput.readUTF();age = dataInput.readInt();}
}
TestStudent类:
import java.io.*;public class TestStudent {public static void main(String[] args) throws IOException, ClassNotFoundException {Student student = new Student("小花", 18);// hadoop序列化DataOutputStream dos = new DataOutputStream(new FileOutputStream("Student_hadoop.txt"));student.write(dos);// hadoop 反序列化DataInputStream dis = new DataInputStream(new FileInputStream("Student_hadoop.txt"));Student student1 = new Student();student1.readFields(dis);System.out.println(student1.name+ " "+student1.age);}
}