java - tcp 中的 IOUtils.copy()

标签 java sockets apache-commons-io

我正在制作一个程序,通过将文件输入流复制到客户端中的输出流并将输入流复制到服务器中的文件输出流,通过 IOUtils 通过 TCP 将文件从客户端发送到服务器。但为了使其工作,我必须在文件传输结束时关闭流,之后我无法发送另一个文件。那么有没有办法使用这种方法发送多个文件呢?

最佳答案

在一个连接中发送多条消息的常用方法是

  • 发送消息的长度(此处:文件大小),以便远程方通过计算字节数知道何时停止读取
  • 通过发送文件不能包含的特殊字符串来表示数据结束

第一个可能会更好。

或者,您可以考虑使用 zip 文件输入和输出流;它们可以包含多个独立的文件条目

关于java - tcp 中的 IOUtils.copy(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18712818/

相关文章:

java - Java中的UDP数据包路由

java - 使用java apache commons下载文件?

java - 如何使用Java查找远程Linux机器的磁盘空间

java - 抽象类的实现

java - 测试 LITTLE_ENDIAN 和 BIG_ENDIAN 场景

java - 当我运行 .jar 时,除命令提示符外,Swing 不会重新绘制

sockets - java.net.ConnectException-拒绝连接的Android仿真器

sockets - os.execute 不继承父级的 fds

java - 无法使用 java 将文件从 Linux 文件系统上的一个位置移动到另一个位置

java - Jasper 与 JBoss 战斗