|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2017/2/16 10:14:31 |
标题: |
如何把zip文件直接解压到内存里?自带的Zip貌似不行。 |
浏览:2391 |
|
加入我的收藏 |
楼主: |
解压到硬盘再读进来耽误时间。
----------------------------------------------
- |
作者: |
gmxyb (gmxyb) |
★☆☆☆☆ |
-
|
普通会员 |
|
2017/2/16 10:28:43 |
1楼: |
我用的ZipForge,可以用Stream方式直接读取zip中某个文件
----------------------------------------------
-
|
作者: |
|
2017/2/16 12:50:31 |
2楼: |
你说System.Zip不行? 如果是那是你不会用吧。 我一直都是直接在内存中操作的
----------------------------------------------
一个热爱delphi的人,Golang GUI库。 --我的博客--
|
作者: |
|
2017/2/16 12:52:08 |
3楼: |
楼上的是高手。 好像 给 TZip 加个 helper 才行吧。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
|
2017/2/16 13:25:45 |
4楼: |
是不会用啊,请教下怎么么用呢?谢谢。
----------------------------------------------
-
|
作者: |
|
2017/2/16 13:53:21 |
5楼: |
var LZip: TZipFile; LMem: TMemoryStream; LBytes: TBytes; begin LZip := TZipFile.Create; try LMem := TMemoryStream.Create; try LMem.LoadFromFile('xxxx.zip'); // 演示加载到内存流 LMem.Position := 0; // 这里打开流 LZip.Open(LMem, zmRead); // 读取第一个,读出来的就是被解压的 LZip.Read(0, LBytes); finally LMem.Free; end; finally LZip.Free; end;
----------------------------------------------
一个热爱delphi的人,Golang GUI库。 --我的博客--
|
作者: |
|
2017/2/16 13:57:18 |
6楼: |
系统自带的没用过,就用过第三方的。 ZipForge是可视化的控件,非常简单易用,看看源代码就能学会。 JCL是运行库,里面有目前所有还活着的压缩格式的解压和压缩库,都支持内存流操作。 具体怎么用,最好自己去学习一下,增加一下自己的能力。
----------------------------------------------
-
|
作者: |
|
2017/2/16 14:23:30 |
7楼: |
自带的ZIP可以解压到流,可以是文件流也可以是内存流
----------------------------------------------
武稀松http://www.raysoftware.cn
|
|