protobuf
syntax = "proto2";
message Person {
required string name = 1;
required int32 age = 2;
optional string address = 3;
}
protoc --java_out=. person.proto
import com.example.Person;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class Main {
public static void main(String[] args) throws Exception {
Person person = Person.newBuilder()
.setName("Tom")
.setAge(25)
.setAddress("123 Main St")
.build();
FileOutputStream output = new FileOutputStream("person.dat");
person.writeTo(output);
output.close();
FileInputStream input = new FileInputStream("person.dat");
Person storedPerson = Person.parseFrom(input);
System.out.println("Name: " + storedPerson.getName());
System.out.println("Age: " + storedPerson.getAge());
System.out.println("Address: " + storedPerson.getAddress());
}
}