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

标签 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 的文件中?

最佳答案

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

关于java - 从字节数组组重新创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53733697/

相关文章:

java - 关于 java 字符串文字的冲突陈述

java - Java中的嵌套监视器

arrays - 在数组中查找最后一次出现的匹配条件

javascript - 在 javascript 函数中获取 ruby​​ 数组的每个 i 元素(转义和取消转义)?

java - 如何检查字符串是否为数字

java - 如何在 Outlook 中创建电子邮件并使其对用户可见

java - Gson节点/链接对象映射

c++ - 删除数组中的元素,C++

c# - 从数组中获取 n 最低的最快方法

java - 如何将变量传递给 Pepper-Box 纯文本配置