首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java InputStream to Python (PY4J)

Java InputStream to Python (PY4J)
EN

Stack Overflow用户
提问于 2014-09-17 12:53:52
回答 1查看 2.1K关注 0票数 2

我正在使用PY4J (http://py4j.sourceforge.net/)在python中运行Java代码。

我的java函数返回一个InputStream,我想在我的python代码中操作它:

Java代码:

代码语言:javascript
复制
public InputStream getPCAP(key) {
        InputStream inputStream = cyberStore.getPCAP(pcapStringKey);
        return inputStream;
}

Python代码:

代码语言:javascript
复制
from py4j.java_gateway import JavaGateway

gateway = JavaGateway()
input_stream = PY4J_GateWay.getPCAP(key); 
...

如何在python中获得InputStream?

在将其返回到python之前,我是否应该将其转换为java代码中的其他内容?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-22 08:08:10

我猜你想从输入流中读取。

Java允许您从InputStream读取到byte数组。通过引用传递Pythonic bytearray没有简单的方法,但是您可以轻松地添加一个从InputStream读取并返回byte数组的方法:

代码语言:javascript
复制
public byte[] read(InputStream stream, int count) throws IOException {
    byte[] bytes = new byte[count];
    stream.read(bytes);
    return bytes;
}

然后,在Python中,您可以调用此方法从InputStream读取

代码语言:javascript
复制
gateway = JavaGateway()
input_stream = gateway.getPCAP(key)
data = gateway.read(input_stream, 1000) # reads 1000 bytes from input_stream
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25891144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档