1.maven
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.3.0</version>
</dependency>
2.編輯person_entity.proto文件
syntax = "proto2";
option java_package = "com.boomsecret.protobuf.proto";
option java_outer_classname = "PersonEntity";
message person_entity {
required int32 id = 1; // ID
required string name = 2; // 姓名
optional string email = 3; // 郵箱
}
3.下載protoc.exe,并生成.java文件
https://github.com/google/protobuf/releases
protoc.exe --java_out=.\..\src\main\java .\proto\person_entity.proto
(com.boomsecret.protobuf.proto.PersonEntity.java)
4.小李子
public class ProtoBufDemo {
public static void main(String[] args) {
PersonEntity.person_entity.Builder builder = PersonEntity.person_entity.newBuilder();
builder.setId(100);
builder.setName("jack");
builder.setEmail("jack@email.com");
person_entity personEntity = builder.build();
System.out.println(personEntity.toString());
byte[] bytes = personEntity.toByteArray();
for (byte index : bytes) {
System.out.print(index);
}
System.out.println();
try {
person_entity parsePersonEntity = person_entity.parseFrom(bytes);
System.out.println(parsePersonEntity);
} catch (InvalidProtocolBufferException e) {
e.printStackTrace();
}
}
}
5.總結
protobuf比xml和json效率高很多,具體可以去了解下,這里不做詳細介紹。
最后編輯于 :
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。