Java 改变一个ZipEntry的根?
我的项目中有一些xml模板,它们被修改并添加到zip文件中。问题是模板都在一个模板文件夹中,但是zip文件的预期格式是将它们直接放在根目录中 项目层次结构: 模板/blah.xml 预期的zip文件层次结构: blah.xml 在不将xml文件移动到项目的根文件夹中的情况下,如何实现这一点Java 改变一个ZipEntry的根?,java,zip,Java,Zip,我的项目中有一些xml模板,它们被修改并添加到zip文件中。问题是模板都在一个模板文件夹中,但是zip文件的预期格式是将它们直接放在根目录中 项目层次结构: 模板/blah.xml 预期的zip文件层次结构: blah.xml 在不将xml文件移动到项目的根文件夹中的情况下,如何实现这一点 谢谢您可以将ZipEntry子类化,让它做任何您想做的事情。但是,您需要找出代码是如何获得内容的,然后修改它以获得正确的资源。我的大脑已经崩溃了。。。通过为输入和输出使用不同的名称 byte[] bu
谢谢您可以将ZipEntry子类化,让它做任何您想做的事情。但是,您需要找出代码是如何获得内容的,然后修改它以获得正确的资源。我的大脑已经崩溃了。。。通过为输入和输出使用不同的名称
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();
}