假设我的文件夹中有一个名为input.zip的文件。
我想将这个文件从客户端传输到服务器,所以我当前正在做的是:
//client side
FileInputStream fis = new FileInputStream("input.zip");
while(fis.read(buffer) > 0) { ... }
简而言之:在客户机内部,我使用FileInputStream.read(buffer)
将文件分成许多字节数组。
我将这些数组中的每个数组发送到服务器,服务器知道每个数组的索引(即,第一个数组的索引为0,第二个数组的索引为1,依此类推)。
考虑到在服务器端我拥有所有的字节数组,并且我知道它们的发送顺序,我想构建一个大的字节数组来存储它们。
如何构建这个大字节数组并将文件(应该等于input.zip)写在名为output.zip的文件中
发布于 2018-12-12 08:09:38
InputStream和OutputStream是顺序处理的。
for (;;) {
int nread = fis.read(buffer);
if.(nread <= 0) {
break;
}
fos.write(buffer, 0, nread);
}
最后一个读缓冲区未完全填满。
实用程序类Files可以做到这一点,甚至更多。
Path path = Paths.get(“...“);
Files.copy(path, fos);
https://stackoverflow.com/questions/53733697
复制相似问题