日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

protoc.exe java_protobuf java 使用 window

發布時間:2025/3/21 windows 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 protoc.exe java_protobuf java 使用 window 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.到http://code.google.com/p/protobuf/downloads/list?,選擇其中的win版本下載,我選擇的是protoc-2.4.1-win32.zip

2.下載一個protobuf-java-2.4.1.jar文件(注意,要與你剛才下的proto.exe版本相同)

然后就開始開發了。

步驟:

1.用記事本編寫一個.proto文件:

}如:我編寫的是test.proto

package protobuf;

option java_package = "com.sq.protobuf";

option java_outer_classname = "FirstProtobuf";

message testBuf ?{

required int32 ID = 1;

required string Url = 2;

}

將其放在與剛解壓的protoc.exe同級目錄中。

2.

在cmd中,到protoc-2.4.1-win32文件夾下,

執行

E:\protoc-2.4.1-win32>protoc.exe --java_out=./ test.proto

則可以找到的一個生成的FirstProtobuf.java文件。

3.

在MyEclipse中新建一個java project,建立包com.sq.protobuf,然后將剛才生成的FirstProtobuf.java文件放在其下面。

此時會報錯,因為沒有引入jar包,在package視圖下,將protobuf-java-2.4.1.jar引入,即可解決問題。

4.

建立測試文件:

package com.sq.protobuf.test;

import java.io.ByteArrayInputStream;

import java.io.InputStream;

import com.google.protobuf.InvalidProtocolBufferException;

import com.sq.protobuf.FirstProtobuf;

public class Test {

public static void main(String[] args) {

//序列化過程

//FirstProtobuf是生成類的名字,即proto文件中的java_outer_classname

//testBuf是里面某個序列的名字,即proto文件中的message testBuf

FirstProtobuf.testBuf.Builder builder=FirstProtobuf.testBuf.newBuilder();

builder.setID(777);

builder.setUrl("shiqi");

//testBuf

FirstProtobuf.testBuf info=builder.build();

byte[] result = info.toByteArray() ;

//反序列化過程

try {

FirstProtobuf.testBuf testBuf = FirstProtobuf.testBuf.parseFrom(result);

System.out.println(testBuf);

} catch (InvalidProtocolBufferException e) {

e.printStackTrace();

}

}

}

發現可以將其序列化,插入到數據庫,并可以從數據庫出取出后,反序列化,內容可以正常顯示出來。

注意的就是2點:

1.不能用statement,否則無法插入blob類型的數據

2.為參數賦值時,要用

ByteArrayInputStream stream = ?new ByteArrayInputStream(result);

ps.setBinaryStream(1,stream,stream.available());

總結

以上是生活随笔為你收集整理的protoc.exe java_protobuf java 使用 window的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。