gpt4 book ai didi

Java 输入流到 Python (PY4J)

转载 作者:太空宇宙 更新时间:2023-11-03 18:11:15 24 4
gpt4 key购买 nike

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

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

Java代码:

public InputStream getPCAP(key) {
InputStream inputStream = cyberStore.getPCAP(pcapStringKey);
return inputStream;
}

Python 代码:

from py4j.java_gateway import JavaGateway

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

如何在Python中获取InputStream?

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

最佳答案

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

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

public byte[] read(InputStream stream, int count) throws IOException {
byte[] bytes = new byte[count];
stream.read(bytes);
return bytes;
}

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

gateway = JavaGateway()
input_stream = gateway.getPCAP(key)
data = gateway.read(input_stream, 1000) # reads 1000 bytes from input_stream

关于Java 输入流到 Python (PY4J),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25891144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com