java中Protobuf的使用实例
生活随笔
收集整理的這篇文章主要介紹了
java中Protobuf的使用实例
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?最近公司項目中有埋點的需求,采用的是protocolbuffer的數(shù)據(jù)格式,所以去研究了protobuf的使用,在此記錄一下
1.什么是protocolbuffer?
protocol buffer是google的一個開源項目,它是用于結(jié)構(gòu)化數(shù)據(jù)串行化的靈活、高效、自動的方法,例如XML,不過它比xml更小、更快、也更簡單。你可以定義自己的數(shù)據(jù)結(jié)構(gòu),然后使用代碼生成器生成的代碼來讀寫這個數(shù)據(jù)結(jié)構(gòu)。你甚至可以在無需重新部署程序的情況下更新數(shù)據(jù)結(jié)構(gòu)。
2.使用
2.1下載protoc-2.4.1-win32.zip,http://download.csdn.net/detail/tiandiwuya/9792888
2.2下載?一個protobuf-Java-2.4.1.jar文件,http://download.csdn.net/detail/tiandiwuya/9792889
2.3.用記事本編寫一個.proto文件:
如:我編寫的是msg.proto
package protobuf;
option java_package = "com.sq.protobuf";
option java_outer_classname = "FirstProtobuf";
message testBuf ?{
? required int32 ID = 1;
? required string Url = 2;
} 將其放在與剛解壓的protoc.exe同級目錄中。
2.4使用如下命令編譯這個文件:
protoc.exe --java_out./ msg.proto
2.5將生成的FirstProtobuf.java文件引入eclipse,把下載的protobuf-java-2.4.1.jar也引入工程
2.6建立測試文件
public class test2 {public static void main(String[] args) {//序列化FirstProtobuf.testBuf.Builder builder = FirstProtobuf.testBuf.newBuilder();builder.setID(117);builder.setUrl("bangde");// testBufFirstProtobuf.testBuf info = builder.build();byte[] result = info.toByteArray();System.out.println("反序列化過程:"+result.toString());//反序列化過程try {FirstProtobuf.testBuf testBuf = FirstProtobuf.testBuf.parseFrom(result);System.out.println("反序列化過程:"+"\n"+testBuf);} catch (InvalidProtocolBufferException e) {e.printStackTrace();}} } 結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的java中Protobuf的使用实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AndroidStudio gradle
- 下一篇: GreenDao3.2简单使用