gpt4 book ai didi

java - 在 Java 中从 InputStream 获取大小未知的字节数组?

转载 作者:行者123 更新时间:2023-11-29 05:57:14 26 4
gpt4 key购买 nike

我通过套接字发送字节数组,并通过 DataInputStream 接收它。不知道字节数组的大小,也没法查。我试过这样做:

byte[] content = new byte[ARRAY_SIZE]; 
int something;

while((something = inFromStream.read()) > 0)
output.write(something);

然而,这仍然意味着我需要知道字节数组的大小。我不想只填写一个巨大的数字(因为从流中接收到的字节数组可能是 100 甚至可能是 5000000000)。我该如何处理(最好使用标准 Java API/库)?

最佳答案

您可以将 byte[] 分段发送到 OutputStream

byte[] buffer = new byte[1024 /* or some other number */];
int numRead;

while((numRead = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, numRead);
}

关于java - 在 Java 中从 InputStream 获取大小未知的字节数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11595373/

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