将文件或文件夹压缩成zip文件?

时间:2015-02-25 13:24:57

标签: haxe

我需要知道,如何将文件压缩成zip文件? 我找到了this美丽的要点,它将解压缩一个zip文件。

我找到haxe.zip.Compress但是,我没有找到任何使用它的示例,有些人可以帮我压缩haxe中的文件吗?

修改

感谢下面的回答,我尝试了输入:

    var fileInput:FileInput = File.read("myfile.xml");
    var bytes:Bytes = Bytes.ofData(File.getBytes("myfile.xml").getData());

    var entry:Entry = {
        fileName:"myfile.xml", 
        fileSize:bytes.length,
        fileTime:Date.now(),
        compressed: false,
        dataSize: 0,
        data: bytes,
        crc32:Crc32.make(bytes)
        };

Tools.compress(entry, 1); 

但我发现没有为PHP实现Tools.compress

我试过了:

Compress.run(bytes, 1);

我得到了:

uncaught exception: Not implemented for this platform

Called from haxe.zip.Compress::run
Called from Main::main

虽然提到CompressAvailable on all platforms

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

等同的完整要点需要一些时间(我必须确保一切正常),但你应该遵循的方向是......

您需要为每个文件创建一个未压缩的Entry,并使用haxe.zip.Tools.compress对其进行压缩,最后使用List<Entry>写入所有条目(haxe.zip.Writer.write)。

答案 1 :(得分:0)

我认为haxe.zip包仅适用于neko目标,不确定。如果是这样,您可能需要format library