更改ZipEntry的根目录?

时间:2009-03-25 15:41:06

标签: java zip

我的项目有一些xml模板,这些模板已修改并添加到zip文件中。问题是模板都在模板文件夹中,但zip文件的预期格式是将它们直接放在根目录中。

项目层次结构: 模板/ blah.xml

预期的zip文件层次结构: blah.xml

无论如何在不将xml文件移动到项目的根文件夹中的情况下实现这一目标?

由于

2 个答案:

答案 0 :(得分:2)

我的大脑融化了......通过使用不同的输入和输出名称

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

答案 1 :(得分:0)

你可以继承ZipEntry并让它做你想做的任何事情。但是,您需要了解代码如何获取内容,然后修改它以获取正确的资源。