0

我想将一段python代码重写为java。Python代码如下:

transport = StringIO(thrifts_data)        
transport.seek(0)
transport = TTransport.TBufferedTransport(transport)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
....
doc = StreamItem()
doc.read(protocol)

在上面的代码中,thrifts_data 是从文件中读取的二进制流。现在我需要用java重写,我在网上搜索过,但没有找到任何有用的东西。在 java 中,TTransport 是一个抽象类,它有一些子类,但我不确定我应该选择哪个,因为它们中没有一个包含采用 inputstream 参数的构造方法。谁能帮我?提前致谢。

4

2 回答 2

0

TIOStreamTransport有一个带InputStream参数的构造函数。

您可能还对TMemoryInputTransport和感兴趣TFileTransport

于 2013-01-31T15:55:43.960 回答
0

对于有人可能会担心,我在java中解决了如下问题:

TTransport transport;
transport = new TMemoryInputTransport(byte_data);
TBinaryProtocol tbp = new TBinaryProtocol(transport);
StreamItem si = new StreamItem();
si.read(tbp);
于 2013-02-22T06:21:47.270 回答