1

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

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

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

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

4

2 回答 2

6

您可以将这byte[]件作品明智地发送到OutputStream

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

while((numRead = inputStream.read(buffer)) > 0) {
    outputStream.write(buffer, 0, numRead);
}
于 2012-07-21T19:54:31.540 回答
-3

解决方法 - 只是没有代码示例的逻辑

getSizeOfInput int countTokens (){

readInput tokenizeInput countTokens

返回计数令牌}

创建一个大小为 countTokens 的数组

但总而言之 - 查看链接 创建一个字节数组列表

于 2012-07-21T19:58:07.937 回答