<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.15.8</version>
</dependency>
protobuf
syntax = "proto3";
package com.example;
message Person {
string name = 1;
int32 age = 2;
repeated string hobbies = 3;
}
bash
protoc --java_out=src/main/java/ proto/*.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("Alice")
.setAge(25)
.addHobbies("Reading")
.addHobbies("Gaming")
.build();
FileOutputStream output = new FileOutputStream("person.bin");
person.writeTo(output);
output.close();
FileInputStream input = new FileInputStream("person.bin");
Person deserializedPerson = Person.parseFrom(input);
input.close();
System.out.println(deserializedPerson);
}
}