zoukankan      html  css  js  c++  java
  • Java中使用Protobuf

    gradle依赖库:

    implementation 'com.google.protobuf:protobuf-java:3.4.0'
    implementation 'com.google.protobuf:protobuf-java-util:3.4.0'
    

      

    0.编写.proto文件,编译生成对应Java源文件:

    syntax = "proto2";
    option java_generic_services = true;
    option java_package = "gj.protobuf.sample";
    option java_outer_classname = "ProtoSample";
    
    message Student {
        required int32 id = 1;
        optional string name = 2;
    }
    

      

    protoc --java_out=....java ProtobufSample.proto
    

    1.编写Java文件:

    package gj.protobuf.sample;
    
    import com.google.protobuf.InvalidProtocolBufferException;
    
    /**
     * Author: areful
     */
    public class ProtoSampleTest {
        public static void main(String[] args) {
            ProtoSample.Student student = ProtoSample.Student.newBuilder()
                    .setId(1)
                    .setName("areful")
                    .build();
            System.out.println(student);
    
            byte[] data = student.toByteArray();
            try {
                ProtoSample.Student student1 = ProtoSample.Student.parseFrom(data);
                System.out.println(student1);
            } catch (InvalidProtocolBufferException e) {
                e.printStackTrace();
            }
        }
    }
    

        

    2.编译运行:

  • 相关阅读:
    算法:二分图最大独立集
    算法:桶排序
    算法:二分图最小点覆盖——Konig定理
    jQuery基础整理之思维导图
    vue基础知识整理
    HTML总结
    JAVAScript总结
    栈和队列
    今日学习遇到的问题(2018.9.23)
    看了vue文档之后。。。。
  • 原文地址:https://www.cnblogs.com/areful/p/10410333.html
Copyright © 2011-2022 走看看