protobufjava
❶ 怎麼樣編寫Protobuf的.proto文件
ProtoBuf java 包編譯ProtoBuf的官方下載包並不包含jar文件,需要用戶自己configure/make….來自行編譯。由於Windows上沒有編譯環境,就用了一個笨一點方法處理了。
分別下載:
protobuf-2.4.1.zip ProtoBuf的源文件(包含了C++/Java/Python)的源文件
protoc-2.4.1-win32.zip 已經編譯過的用於Windows平台的protoc命令(該命令用於將.proto文件轉化為Java或C++源文件)。
分別解析這兩個文件,你可以在protoc-2.4.1-win32.zip解壓後的文件中找到一個protoc.exe文件,將其到protobuf-2.4.1/src目錄下,然後進入protobuf-2.4.1/java,執行:
mvn install
❷ 如何在eclipse中使用protocolbuf
Protocbuf 就是Protocol buffers,mxl一樣在序列化數據結構時很靈活、高效和智能,但是它的優勢在於定義文件更小,讀取速度更快,使用更加簡單。
使用步驟:
1 下載編譯器和protocolbuff的jar包。
2 把下載好的jar導入到eclipse。
3 解壓編譯器壓縮包,得到一個protoc.exe。
4在eclipse中新建一個工程,名字比如叫做protocolbuffer,在該工程目錄下,新建一個probuf(名字隨意取)文件夾,用來裝(.proto)文件的。同時把剛才解壓得到的protoc.exe移動到該工程目錄下面,並在path路徑,配置該.exe的環境變數。
5 Google官網,有個AddressBookProtos的例子,也就是哪個.proto文件,去原封不動復制下來,然後,放到剛才新建的工程中probuf的文件夾中,注意文件擴展名必須是.proto。
6 用protoc.exe編譯這個addressbook.proto文件,打開命令行,進入所建工程目錄,執行如下命令 protoc –I=probuf/ --java_out=src probuf/addressbook.proto,(如果建的文件名和這個一樣,直接原封不動,復制粘貼,執行即可),執行完畢即可得到java文件,路徑是src\com\example\tutorial\AddressBookProtos.java。
7在eclipse中看新建工程src下是否存在\com\example\tutorial\ AddressBookProtos.java,eclipse中沒有導入成功,需要把他導入eclipse中,我是直接把src下此包直接剪切,然後放到桌面,然後直接在eclipse中src下粘貼就可以了。
8編寫測試java文件。Google同樣有給出例子,其java源碼在剛才放addressbook.proto文件夾中,有個LisPeople.java和一個AddPerson.java,直接復制粘貼進入你的eclipse中即可使用。
9現在java源碼都進入了eclipse中,並且無任何錯誤。首先執行添加人物信息,運行時卻出錯了,顯示:Usage: AddPersonADDRESS_BOOK_FILE,這是因為,你用的eclipse執行的,而並非用命令來執行的,main方法中的,String[] args為空,應該注釋掉main方法下緊跟著的if檢查,並將所有的args[0]用一個string代替,比如」person.txt」,再次執行,就能添加了。
擴展:
ProtocolBuf 的缺陷:那就是還不夠成熟,且數據易讀性很差。