成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java protobuf框架使用向導

開發 后端
ProtoBuf,全稱是Protocol Buffers, 它是谷歌內部用的一種高效的、可擴展的對結構化數據進行編碼的格式規范。谷歌自己內部很多程序之間的通信協議都用了ProtoBuf。

ProtoBuf,全稱是Protocol Buffers, 它是谷歌內部用的一種高效的、可擴展的對結構化數據進行編碼的格式規范。谷歌自己內部很多程序之間的通信協議都用了ProtoBuf。

下面介紹的是使用Java ProtoBuf的基本步驟:

1.http://code.google.com/p/protobuf/downloads/list ,選擇其中的win版本下載

2.下載一個protobuf-java-2.4.1.jar文件(注意,要與你剛才下的proto.exe版本相同,否則可能出現編譯通不過現象)

http://grepcode.com/snapshot/repo1.maven.org/maven2/com.google.protobuf/protobuf-java/2.4.1

3.在proto.exe同級目錄,編寫一個msg.proto文件:

  1. package tutorial;   
  2. option java_package = "com.protobuftest.protobuf";   
  3. option java_outer_classname = "PersonProbuf";   
  4. message Person {   
  5.   required string name = 1;   
  6.   required int32 id = 2;   
  7.   optional string email = 3;   
  8.   enum PhoneType {   
  9.     MOBILE = 0;   
  10.     HOME = 1;   
  11.     WORK = 2;   
  12.   }   
  13.   message PhoneNumber {   
  14.     required string number = 1;   
  15.     optional PhoneType type = 2 [default = HOME];   
  16.   }   
  17.   repeated PhoneNumber phone = 4;   
  18.   message CountryInfo {  
  19.           required string name = 1;  
  20.           required string code = 2;  
  21.           optional int32 number = 3;  
  22.   }  
  23. }   
  24. message AddressBook {   
  25.   repeated Person person = 1;   
  26. }  

4.使用如下命令編譯這個文件:

5.將生成的ProtoBufferPractice.java文件引入eclipse

6.把下載的protobuf-java-2.4.1.jar也引入工程

7.使用方法:

  1. package com.protobuftest;  
  2.  
  3. import java.util.List;  
  4. import com.google.protobuf.InvalidProtocolBufferException;  
  5. import com.protobuftest.protobuf.PersonProbuf;  
  6. import com.protobuftest.protobuf.PersonProbuf.Person;  
  7. import com.protobuftest.protobuf.PersonProbuf.Person.PhoneNumber;  
  8. import com.protobuftest.protobuf.PersonProbuf.Person.PhoneNumberOrBuilder;  
  9. import com.protobuftest.protobuf.PersonProbuf.Person.PhoneType;  
  10.  
  11. public class ProtoBufTest {  
  12. /**  
  13.  * @param args  
  14.  */ 
  15. public static void main(String[] args) {  
  16. // TODO Auto-generated method stub  
  17. PersonProbuf.Person.Builder builder = PersonProbuf.Person.newBuilder();  
  18. builder.setEmail("kkk@email.com");  
  19. builder.setId(1);  
  20. builder.setName("TestName");  
  21. builder.addPhone(PersonProbuf.Person.PhoneNumber.newBuilder().setNumber("131111111").setType(PersonProbuf.Person.PhoneType.MOBILE));  
  22. builder.addPhone(PersonProbuf.Person.PhoneNumber.newBuilder().setNumber("011111").setType(PersonProbuf.Person.PhoneType.HOME));  
  23. Person person = builder.build();  
  24. byte[] buf = person.toByteArray();  
  25. try {  
  26. Person person2 = PersonProbuf.Person.parseFrom(buf);  
  27. System.out.println(person2.getName() + ", " + person2.getEmail());  
  28. List<PhoneNumber> lstPhones = person2.getPhoneList();  
  29. for (PhoneNumber phoneNumber : lstPhones) {  
  30. System.out.println(phoneNumber.getNumber());  
  31. }  
  32. catch (InvalidProtocolBufferException e) {  
  33. // TODO Auto-generated catch block  
  34. e.printStackTrace();  
  35. }  
  36. System.out.println(buf);  
  37. }  

源文檔 <http://blog.csdn.net/csharp25/article/details/6632127

原文鏈接:http://www.cnblogs.com/brainy/archive/2012/05/11/2496581.html

【編輯推薦】

  1. Java簡單的網絡爬蟲實現
  2. Java調用SQL Server的存儲過程詳解
  3. MongoDB、Java與對象關系映射
  4. Java的Comparable接口的一個陷阱
  5. K-means算法的Java實現 聚類分析681個三國武將
責任編輯:林師授 來源: brainy的博客
相關推薦

2014-12-24 10:24:55

Java

2019-11-22 08:40:19

ProtobufGo編程語言

2021-04-12 07:34:03

Java集合框架

2020-12-02 11:18:28

Golang GinW

2013-10-31 22:34:05

AppBuilder開發

2009-11-09 09:56:46

Driver Stud

2021-04-21 08:01:31

Googleprotobuf嵌入式系統

2011-04-12 09:07:50

復制數據庫SQL 2008

2010-08-05 16:02:30

使用DB2配置

2012-03-15 11:21:19

Java

2009-11-05 10:13:39

WCF框架

2012-09-26 10:02:44

框架開發項目

2011-08-18 11:10:49

Core Plot框架IOS開發

2009-07-08 17:33:37

Servlet過濾器

2010-11-17 12:59:52

2024-05-24 10:51:51

框架Java

2024-06-06 11:54:35

2011-03-24 11:37:41

Hibernate

2022-11-25 07:59:02

SpringJava

2010-09-13 14:17:42

CSS縱向導航菜單
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区日韩精品 | 国产成人jvid在线播放 | 视频1区2区 | 人人干免费| 91视频三区| 精品国产一区久久 | 在线免费观看视频黄 | 中文字幕高清一区 | 亚洲免费在线观看 | 国产日韩欧美激情 | 亚洲欧美一区二区三区国产精品 | 中文字幕亚洲无线 | 久久久久国产精品人 | 精品久久久久久久久久久下田 | 欧美片网站免费 | 国产精品不卡视频 | 欧美日韩视频在线 | 久久久久久久网 | 日韩一区二区福利 | 在线观看亚洲精品视频 | 黄色一级片在线播放 | 午夜免费在线 | 亚洲狠狠爱一区二区三区 | 国产一区二区三区久久久久久久久 | 欧美一区二区三区在线播放 | 国产精品久久久久久久免费大片 | 欧美午夜精品理论片a级按摩 | 国产一区二区在线视频 | 成人免费看片 | 日韩不卡视频在线 | 精品久久久久久久久久久久久久 | 黑人巨大精品欧美一区二区一视频 | 黄色成人在线网站 | 精品少妇一区二区三区日产乱码 | 久久久久一区二区 | 色综合久久天天综合网 | 成人久久视频 | 欧美黄色片在线观看 | 国产一区精品 | 中文字幕av一区二区三区 | 久草视|