Google protocol buffer

 Protocol Buffers是一个平台中立,编程语言无关的,可扩展的机制,用来将数据序列化。有点类似xml,但是比xml更小更快更简单。本人以windows平台,JAVA编程语言为例1、到这里下载protobuf-2.3.0.zip和protoc-2.3.0-win32.zip2、解压缩protobuf-2.3.0.zip得到源码,解压缩protoc-2.3.0-win32.zip得到protoc,这是一个命令行工具,可以把protobuf-2.3.0\example当中的addressbook.proto数据结构制定成编程语言的代码,现在支持 Java, C++, 和Python如生成java代码的命令如下:

protoc -I=$SRC_DIR --java_out=$DST_DIR addressbook.proto命令执行完毕之后可以在protobuf-2.3.0\example下面发现com\example\tutorial \AddressBookProtos.java得到java类后,就可以进行对上面定义的结构化数据进行操作了。比如,数据结构person中的所有变量,都提供get和set方法。并且提供has方法,检查这个变量是否存在。可以对数据进行序列化,保存到磁盘上。也可以使用Builder方法,从磁盘文件中将原有数据读出。但是序列化到磁盘中的数据是部分二进制的,不能被人直接读取。这个不如xml方便3、进入protobuf-2.3.0\JAVA,仔细阅读readme,按上面的说明操作,需要生成Java Protocol Buffers runtime library,本人是install with maven。在target目录下面会生成protobuf-java-2.3.0.jar,这个在后面的步骤当中需要引入到eclipse的类路径当中。4、把protobuf-2.3.0\example导入到eclipse当中,并添加额外的jar包:protobuf-java- 2.3.0.jar5、对example当中的AddPerson.java文件进行编译运行,这里需要带个参数,详见代码当中的usage。 例如:Run Configurations->Arguments->Program arguments当中填入ADDRESS_BOOK_FILE。 Run 一切OK~