我正在制作一个程序,通过将文件输入流复制到客户端中的输出流并将输入流复制到服务器中的文件输出流,通过 IOUtils 通过 TCP 将文件从客户端发送到服务器。但为了使其工作,我必须在文件传输结束时关闭流,之后我无法发送另一个文件。那么有没有办法使用这种方法发送多个文件呢?
最佳答案
在一个连接中发送多条消息的常用方法是
- 发送消息的长度(此处:文件大小),以便远程方通过计算字节数知道何时停止读取
- 通过发送文件不能包含的特殊字符串来表示数据结束
第一个可能会更好。
或者,您可以考虑使用 zip 文件输入和输出流;它们可以包含多个独立的文件条目
关于java - tcp 中的 IOUtils.copy(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18712818/