Web 服务期望byte[]
来自 zip 文件。
我在一个文件夹中有一些文件,我用 Java 压缩,然后我byte[]
从这个 zip 文件中获取。
这是必要的还是我可以byte[]
直接从文件夹中创建?
文件夹是文件的集合。它是一个容器。它首先没有字节流。
另一方面,ZIP(或任何存档)是一个文件。有关不同文件的信息存储在 ZIP 文件本身中
但是,您可以遍历文件夹内容,创建一个字节数组,然后使用它(无论如何,您在创建 ZIP 时都会这样做)。
我认为这样的事情可以让你在不写的情况下做你想做的事,只要文件不会很大。
String[] sourceFiles = { "C:/file1", "C:/file2" };
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ZipOutputStream zout = new ZipOutputStream(baos);
byte[] buffer = new byte[4096];
for (int i = 0; i < sourceFiles.length; i++)
{
FileInputStream fin = new FileInputStream(sourceFiles[i]);
zout.putNextEntry(new ZipEntry(sourceFiles[i]));
int length;
while ((length = fin.read(buffer)) > 0)
{
zout.write(buffer, 0, length);
}
zout.closeEntry();
fin.close();
}
zout.close();
byte[] bytes = baos.toByteArray();