从字节数组组重新创建文件

时间:2018-12-11 23:07:22

标签: java arrays

假设我的文件夹中有一个名为 input.zip 的文件。

我想将此文件从客户端传输到服务器,所以我目前正在做的是:

//client side
FileInputStream fis = new FileInputStream("input.zip");
while(fis.read(buffer) > 0) { ... }

简而言之:在客户端内部,我使用FileInputStream.read(buffer)将文件分成许多字节数组。

我将每个这些数组发送到服务器,并且服务器知道每个数组的索引(即,第一个数组的索引为0,第二个数组的索引为1,依此类推)。

鉴于在服务器端我拥有所有字节数组,并且知道它们的发送顺序,所以我想构建一个大字节数组来存储所有字节数组。

如何构建这个大字节数组并将文件(应该等于 input.zip )写入名为 output.zip 的文件中?

>

1 个答案:

答案 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);