首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

文件压缩工具-RIA版

一般我们的做法是将多个XML/txt文件打包压缩,之前使用的方法是先将资源文件使用winrar进行zip压缩,然后使用第三方的一个库nochump进行解压。...后来改进了一下,自己写了一个RIA工具,选择需要压缩文件,然后逐个读取其文件流,获取其二进制流,将每一个文件的二进制流写进一个二进制流。...然后记录下每一个文件它的偏移量和文件长度,最后压缩那一个二进制流(ByteArray类的compress方法),并保存为文件。...游戏先使用URLStream加载文件,获取二进制流,然后解压(ByteArray的compress方法),从最后开始往前读,获取二进制流内的文件信息(文件名称、偏移量、长度),根据文件的信息,就可以知道每一个文件的内容了...经过测试和实际应用,此方法比zip压缩: 1、文件小了11~12KB; 2、解析文件所消耗的时间大大缩短,内网测试一个较大的压缩文件时,消耗时长从2.5s变成700ms; 3、CPU曲线波动较之以前已经好了很多

61310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    js不借助后端,文件拖拽压缩上传,支持选择文件

    在系统中上传文件时,需要支持文件文件夹上传,并且需要在文件上传时需要将文件压缩成zip包,下载的时候,直接下载zip包 听到这个需求,我的第一反应就是js应该没有强大吧,因为压缩和访问文件夹,涉及到了文件系统的读取和修改...: 1:用户选中文件文件夹后,获取文件对象, 2:遍历获取的文件对象 放入实例化的zip对象中 3:使用generateAsync()方法生成文件, 通过formdata提交到服务端 代码如下: 此案例支持拖拽上传多个文件..., 支持选择多个文件,选择单个文件夹 此外可以使用 file-saver库的saveAs对zip文件包保存到本地 文件压缩上传案例 <label name="myfile" for="myfile" style="display:block;width:200px...能不能做,要想看这个库的api具不具备将<em>文件</em>转化为zip<em>文件</em>,通过以上两个api,可以得知这个库是支持的. jszip库api 另外jszip库也支持读取本地和远程的zip<em>文件</em>返回内部<em>文件</em>目录,<em>文件</em>名.

    3.5K10

    python文件压缩与解压缩

    参数说明: 1>fiename:添加文件路径; 2>arcname:归档文件路径与名称; 1.3 添加压缩数据 zipobj.writestr(zinfo_or_arcname, data, compress_type...8编码; 1.4 关闭 关闭压缩文件: zipobj.close() 1.5 一个例子: 压缩目录如下: ?...= os.path.join(logdir, name) arcname = os.path.join(basename, name) #写入要压缩文件,并添加归档文件名称 fzip.write...(member, path=None, pwd=None):解压缩一个文件到指定目录; 参数: member:压缩包中文件; path:解压缩到指定目录,默认解压到当前目录; frzip.extractall...(path=None, members=None, pwd=None):解压缩多个文件到指定目录; 参数: path:指定的解压目录; members:指定解压文件,默认解压全部; 解压指定文件到指定目录

    4.2K40

    Linux文件归档,压缩与解压缩

    ; -z 或 --compress:强制执行压缩压缩与解压缩 #压缩a文件为a.bz2,并删除a文件 bzip2 a #压缩a文件为a.bz2,并保留a文件 bzip2 -k a 这里压缩的时候没有标准输出...列出zip压缩文件的详细信息 zip -A:调整可执行的自动解压缩文件; -b:指定暂时存放文件的目录; -c:替每个被压缩文件加上注释; -d:从压缩文件内删除指定的文件; -D:压缩文件内不建立目录名称...; -f:此参数的效果和指定“-u”参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中; -F:尝试修复已损坏的压缩文件; -g:将文件压缩后附加在已有的压缩文件之后...兼容格式的文件名称; -l:压缩文件时,把LF字符置换成LF+CR字符; -ll:压缩文件时,把LF+cp字符置换成LF字符; -L:显示版权信息; -m:将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中...“ls-l”指令的效果列出压缩文件内容; -t:只列出压缩文件内所包含的文件数目,压缩前后的文件大小及压缩率; -T:将压缩文件内每个文件的日期时间用年,月,日,时,分,秒的顺序列出; -v:详细显示压缩文件内每一个文件的信息

    9.4K40

    linux tar压缩文件命令,tar打包压缩文件命令

    tar命令 tar命令用于将多个文件合成1个文件,wiki中把这个命令和cpio、shar等一起叫做archive文件,个人理解是归档,合成一个文件,后就可以用gzip、bz2、xz等工具进行压缩,同时也能方便在各个计算机间传输...wiki上这个图比较形象,tar把零散的文件合拢,gzip把合拢的文件压缩。..., –get 从归档中解出文件 2、压缩选项 -a, –auto-compress 使用归档后缀名来决定压缩程序 -I, –use-compress-program=PROG ,通过 PROG 过滤(必须是能接受...compress, –uncompress 通过 compress 压缩归档 3、辅助选项 -v, –verbose 详细地列出处理的文件 -f, –file=ARCHIVE 使用归档文件或 ARCHIVE...4、查看bdir.tar中的文件 命令:tar -tf bdir.tar,该命令同时可以查看使用-z,-j,-J打包压缩过的文件包中的内容 注意如果包中文件过多,可在命令后加|less分屏显示 命令:

    6.6K20

    VBA解压缩ZIP文件02——压缩过程

    要实现解压缩肯定得了解压缩的过程,解压缩相比压缩来说是简单很多,简单说一下压缩的过程。...ZIP压缩过程 01 扫描文件 压缩程序首先会扫描被压缩文件,然后将文件的信息分为3类: literal 未被处理的 length 长度信息 distance 距离信息...ZIP压缩是按照Byte为单位对原始文件进行处理的,literal代表的就是原始的Byte数据并没有被压缩。...最前面使用3个bit记录Header信息: 第一个比特: 如果是1,表示此部分为最后一个压缩数据块; 否则表示这是.ZIP文件的某个中间压缩数据块,后面还有其他数据块 第2、3比特表示3个选择: 00...注意:ZIP是对每个文件都单独压缩的,而且每个文件还可能会分块进行压缩(这也是Header的第1个bit的作用,标志是否是最后1个块),所以每个使用了动态Huffman的压缩的块都是上面这种结构。

    2.2K20

    linux文件压缩与解压

    压缩工具的介绍 说到文件管理,就不得不说到tar,因为tar可以压缩和解压缩linux文件,所以要先了解一下压缩和解压缩。...好了我们先来学习下这些压缩工具如何使用 压缩文件的好处有如下几点: - 文件更小,便于网络传输,效率高; - 避免杂乱,可以减少文件个数,多个文件一起压缩; - 有些文件不能直接传输,比如安装程序,压缩后就可以传输了...-c 保留源文件 -d 解压缩 -h 显示帮助 -t 检查压缩文件的数据一致性,用来确定压缩文件是否有错误 -v 显示压缩包的相关信息,包括压缩比等 -V 显示版本号 -1 压缩最快...tar 前面我们提到了,大多数压缩工具只能针对单一文件进行操作,如果你要压缩目录的话就会很麻烦,这时候我们可以使用tar这个打包工具,将目录内的多个文件打包成一个文件,再进行压缩。...,那么你学会linux下对文件文件压缩和解压缩了吗!

    5.2K20

    React Native 文件压缩与解压缩插件

    二:实现思路分析 文件压缩和解压缩插件需要引入SSZipArchive封装的类,在封装的类中实现文件压缩功能和文件压缩功能,在RNZipArchive类中实现RNZASSZipArchiveDelegate...实现文件压缩 Javascript调用浏览器方法 三:实现源码分析 实现源码分析是根据上面列出的具体实现思路来为大家解刨内部的实现流程及核心代码分析。...实现文件压缩 实现文件压缩RNZASSZipArchiveDelegate需要实现代理方法,根据传入的srcPath压缩文件路径和desPath解压缩后入的路径调用RNZASSZipArchive类的...实现文件压缩 实现文件压缩功能和解压缩功能类似,唯一的区别是,根据传入的等待压缩文件路径desPath调用RNZASSZipArchive类方法,将压缩后的文件存入srcPath路径下。...这里desPath等待压缩文件可能是一个路径,也可能是多个路径,如果是多个路径,就以数组的形式传入。

    2.6K20

    让Ubuntu可以压缩压缩RAR文件

    注:用e解压的话,不仅原来的file1.txt和file2.txt被解压到当前目录,就连dir1里面的所有文件 也被解压到当前目录下,不能保持压缩前的目录结构,如果想保持压缩前的目录结构....txt 若test.rar文件不存在,则打包file1.txt文件成test.rar 例:rar a test.rar file2.txt 若test.rar文件已经存在,则添加file2.txt...文件到test.rar中 (这样test.rar中就有两个文件了) 注,如果操作文档中已有某文件的一份拷贝,则a命令更新该文件,对目录也可以进行操作 例:rar a test.rar...,类似上面的c,不过这个是对压缩文档中每个文件进行注释 cw 将文档注释写入文件 例:rar cw test.rar comment.txt d 从文档中删除文件 例:rar d...t 检测文档 例:rar t test.rar 检测test.rar的完整性,一般压缩完大型文件准备传输前最好用这个命令来确保文件的正确性 以上就是rar的常用命令,一个rar操作只能有一个命令

    1.3K10

    文件压缩与解压

    二、压缩与解压调用 1.压缩与解压调用 -tar 用法:tar [参数] [文件] 参数: -c:建立新的压缩文件; -x:从压缩文件中提取文件; -z:支持gzip解压文件; -j:支持bzip2...解压文件; -v:显示操作过程; -f:指定压缩文件。...@box~$ tar -jxvf bbcc.tar.bz2 #解压.bz2文件 bbbb cccc 二、文件压缩 1.~.bz2文件压缩命令 -bzip2 用法:bzip2 [参数] [待压文件...] 参数: -c或:将压缩与解压缩的结果送到标准输出; -f:bzip2在压缩或解压缩时,若输出文件与现有文件同名则覆盖(默认不覆盖); -k:bzip2在压缩或解压缩后保留原始文件(默认不保留);...-s:降低程序执行时内存的使用量; -t:测试.bz2压缩文件的完整性; -v:压缩或解压缩文件时,显示详细的信息; -z:强制执行压缩; --repetitive-best:若文件中有重复出现的资料时

    81210
    领券