如何将多个 InputStream 直接包装成一个流,不操作文件?
现有一个项目,是基于云平台的开发,应用程序不能在服务器创建文件,因为不具备权限、且具体响应的服务器IP是未知的。
问题如下:
根据多个文件ID,可从文件服务器获取多个 InputStream 供用户下载,但是用户需要多次保存。
现需要将这多个 InputStream 直接包装成一个流(即:不能在服务器上创建真实的文件和文件夹),使用户只需要保存一次。
?InputStream 包装成一个流 不操作文件 多个?InputStream 云平台
[解决办法]
InputStream in1 = ...;
InputStream in2 = ...;
byte[] buf1 = new byte[2048];
byte[] buf2 = new byte[2048];
int len1 = in1.read(buf1);
int len2 = in2.read(buf2);
OutputStream o1 = new FileOutputStream("d://copytest1.txt");
OutputStream o2 = new FileOutputStream("d://copytest2.txt");
o1.write(buf1,0,len1);
o2.write(buf2,0,len2);
in1.close();
in2.close();
o1.close();
o2.close();