首先创建两个类
两个类的代码
Student类:
java
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;
@Override
public void write(DataOutput dataOutput) throws IOException {
dataOutput.writeUTF(name);
dataOutput.writeInt(age);
}
@Override
public void readFields(DataInput dataInput) throws IOException {
name = dataInput.readUTF();
age = dataInput.readInt();
}
}
TestStudent类:
java
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);
}
}