我正在研究TCP服务器项目,我需要使用DataOutputStream和DataInputStream通过byte []传输文件,而且我已经卡住了。我能够毫无问题地将字节数组写入输出流,但我正在查看DataInputStream的文档以及我希望读取的方法(byte [] b)。问题是这需要我事先创建一个byte [],但我不一定知道它需要的大小,所以我需要一些帮助来解决这个问题。
答案 0 :(得分:1)
答案 1 :(得分:0)
你不是。您只需要标准的Java拷贝循环:
byte[] buffer = new byte[8192]; // or wherever you like > 0
int count;
while ((count = in.read(buffer)) > 0)
{
out.write(buffer, 0, count);
}
答案 2 :(得分:-1)
我为TCP服务器和客户端创建了一个库。你也可以使用它。 GitHub
虽然不多,但很简单。