prototype序列化

本文介绍了如何在Windows环境下安装并使用Google的Protocol Buffers(简称Protobuf)。具体步骤包括下载对应版本的软件包及Java库,编写.proto文件定义消息格式,通过命令行工具编译该文件生成Java代码,最后在Eclipse中进行序列化和反序列化的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


转自:http://blog.youkuaiyun.com/lan_liang/article/details/6632127

调研环境:windows


1.http://code.google.com/p/protobuf/downloads/list ,选择其中的win版本下载

2.下载一个protobuf-java-2.4.1.jar文件(注意,要与你刚才下的proto.exe版本相同,否则可能出现编译通不过现象)

3.在proto.exe同级目录,编写一个msg.proto文件:


package Feinno.Practice.Learn;

option java_package = "Feinno.Practice.Learn";
option java_outer_classname = "ProtoBufferPractice";

message msgInfo  {
  required int32 ID = 1;
  required int64 GoodID = 2;       
  required string Url = 3;
  required string Guid = 4;
  required string Type = 5;
  required int32 Order = 6;
}


4.使用如下命令编译这个文件:

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

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

7.使用方法(序列化):

ProtoBufferPractice.msgInfo.Builder builder=ProtoBufferPractice.msgInfo.newBuilder();
    builder.setGoodID(100);
    builder.setGuid("11111-23222-3333-444");
    builder.setOrder(0);
    builder.setType("ITEM");
    builder.setID(10);
    builder.setUrl("http://xxx.jpg");
    ProtoBufferPractice.msgInfo info=builder.build();

    byte[] result=info.toByteArray() ;


8.反序列化:

try{
        ProtoBufferPractice.msgInfo msg = ProtoBufferPractice.msgInfo.parseFrom(result);
        System.out.println(msg);
    }
    catch(Exception ex){
        System.out.println(ex.getMessage());
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值