我需要做的是使用 DataStreams 发送多个文件。我通过发送文件的名称,然后是文件的字节来做到这一点。不过,我需要发送数量不定的文件。这是DataOutputStream
代码。
out.writeUTF(path);
out.write(Files.readAllBytes(file.toPath()));
它为每个需要发送的文件执行此操作。但我不知道如何正确阅读它DataInputStream
。这就是我到目前为止所拥有的。
while (in.available() != 0) {
String path = in.readUTF();
byte bytes = in.readByte();
}
显然它不起作用,因为它只读取一个字节。但我不知道如何让它读取所有字节。由于有几个文件被发送available()
,我认为在读取所有文件的末尾时只会等于 0。任何帮助是极大的赞赏。
我完全忘记提及的事情,我希望能够发送一个大文件而不会耗尽内存,我认为这不会奏效。我想我需要使用缓冲区,但我不知道哪个类支持文件。