假设我的文件夹中有一个名为 input.zip 的文件。
我想将此文件从客户端传输到服务器,所以我目前正在做的是:
//client side
FileInputStream fis = new FileInputStream("input.zip");
while(fis.read(buffer) > 0) { ... }
简而言之:在客户端内部,我使用FileInputStream.read(buffer)
将文件分成许多字节数组。
我将每个这些数组发送到服务器,并且服务器知道每个数组的索引(即,第一个数组的索引为0,第二个数组的索引为1,依此类推)。
鉴于在服务器端我拥有所有字节数组,并且知道它们的发送顺序,所以我想构建一个大字节数组来存储所有字节数组。
如何构建这个大字节数组并将文件(应该等于 input.zip )写入名为 output.zip 的文件中?
>答案 0 :(得分:1)
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);