java - 包含多个文件的InputStream

标签 java file stream inputstream nanohttpd

我尝试将多个文件从我的服务器(NanoHttpd)发送到我的客户端(Apache DefaultHttpClient)。 我的方法是通过 NanoHttpd 的一个 Response 发送多个文件。
我只能在响应中发送一个输入流,并且据我所知,我只能对请求使用一个响应。

我已经尝试过使用 SequenceInputStream,但这会将所有文件合并在一起。
有没有办法在一个输入流中发送多个文件而不合并它们,这样我就可以单独访问它们?

提前致谢。

最佳答案

您可以在响应中使用 MIME/Multipart 编码,这是通过 HTTP 发送多部分结构化内容的标准方式,并且 Apache 客户端应该能够动态解码(尽管在服务器端,您应该使用库来生成这种不那么简单的编码)。

另一种可能更简单的方法是在服务器端发送 ZIP 流:JDK 拥有对两侧数据进行编码和解码的所有功能,请参阅 ZipEntry 和 ZipInputStream/ZipOutputstream。

关于java - 包含多个文件的InputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16262439/

相关文章:

javascript - 通过 JavaScript 设置样式比使用 CSS3 表更快,因为代码更少?

c# - 从流中读取不知道有多少期望 [c#]

java - 同时将控制台输出写入文件和控制台

java - 获取NoSuchBeanDefinitionException : No qualifying bean of type ServerRequest in Spring WebFlux

java - 实现接口(interface)和继承

android - Jelly Bean 4.2 上的文件目录

javascript - 如何从 Node.Js 中的字符串创建流?

java - 质疑 Math.sqrt 方法的准确性

java - MediaPlayer从毫秒转换为分钟和秒

java - 将文件中的输入解析为 ADT ArrayList