protoBuffer的下载以及使用①


  • 这里写了一个简单的示例检测proto是否可以使用。

    使用protoBuf需要提供以下:
    ①protobuf-java-2.6.1-sources.jar
    ②protoc-2.6.1-win32.zip
    这两个文件我已经添加了附件,当然也可去谷歌官网下载,不过需要fq,下面是两个文件的直接下载路径,需要注意jar和zip的版本一定要相同。
    jarUrl:http://grepcode.com/snapshot/repo1.maven.org/maven2/com.google.protobuf/protobuf-java/2.4.1
    zipUrl:https://developers.google.com/protocol-buffers/docs/downloads





获取后,需要创建一个proto文件,例如


option java_package = "protoBuf";  
option java_outer_classname = "protoBuffer";
  
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;  
}

将这个文件放入zip的压缩文件中,和proto.exe同目录

然后在cmd进入当前目录,执行 protoc.exe --java_out=./ msg.proto(文件名)

会在同目录中生成一个java文件,将这个java文件引入eclipse中就可以使用了


下面是检测代码

package protoBufUtils;

import protoBuf.protoBuffer;

public class protoSerializeUtils {
	
	//消息序列化
	public static byte[] serialize(){
		protoBuffer.msgInfo.Builder builder=protoBuffer.msgInfo.newBuilder();  
	    builder.setGoodID(10); //消息ID 
	    builder.setGuid("11111-22222-33333-123");  //唯一标示符号
	    builder.setOrder(2);  //命令
	    builder.setType("ITEM");  //设置消息类型
	    builder.setID(20);  //设置用户ID
	    builder.setUrl("http://one.jpg");  //设置URL
	    protoBuffer.msgInfo info=builder.build();  //生成消息
	    byte[] result=info.toByteArray();
	    System.out.println(result);
	    return result;
	}
	
	//消息反序列化
	public static void versaSerialize(byte[] result){
		try{  
			protoBuffer.msgInfo msg = protoBuffer.msgInfo.parseFrom(result);  
	        System.out.println(msg);  
	    }  
	    catch(Exception ex){  
	        System.out.println(ex.getMessage());  
	    }  
	}
	
	
	public static void main(String[] args) {
		protoSerializeUtils.versaSerialize(protoSerializeUtils.serialize());;
	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值