我的项目有一些 xml 模板被修改并添加到一个 zip 文件中。问题是模板都在模板文件夹中,但 zip 文件的预期格式是将它们直接放在根目录中。
项目层次结构:模板/blah.xml
预期的 zip 文件层次结构:blah.xml
无论如何在不将 xml 文件移动到项目的根文件夹中的情况下实现这一点?
谢谢
我的大脑崩溃了……通过使用不同的名称进行输入和输出
byte[] buf = new byte[1024];
try
{
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(targetFile));
FileInputStream in = new FileInputStream("templates/blah.xml");
out.putNextEntry(new ZipEntry("blah.xml"));
int len;
while ((len = in.read(buf)) > 0)
{
out.write(buf, 0, len);
}
out.closeEntry();
in.close();
out.close();
} catch (IOException e)
{
e.printStackTrace();
}
你可以继承 ZipEntry 并让它做任何你想做的事情。但是,您需要了解代码是如何获取内容的,然后对其进行修改以获取正确的资源。