0

私のプロジェクトには、変更されてzipファイルに追加されたいくつかのxmlテンプレートがあります。問題は、テンプレートがすべてテンプレートフォルダーにあることでしたが、zipファイルの予想される形式は、それらをルートに直接配置することでした。

プロジェクト階層:templates / blah.xml

予想されるzipファイル階層:blah.xml

とにかく、xmlファイルをプロジェクトのルートフォルダに移動せずにそれを達成するのですか?

ありがとう

4

2 に答える 2

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();
    }
于 2009-03-25T16:20:43.417 に答える
0

ZipEntry をサブクラス化して、好きなようにすることができます。ただし、コードがコンテンツをどのように取得しているかを調べてから、それを修正して正しいリソースを取得する必要があります。

于 2009-03-25T15:48:33.527 に答える