标签: 7zip

如何使用LZMA SDK在Java中压缩/解压缩

http://www.7-zip.org/sdk.html 这个网站提供了一个用于压缩/解压缩文件的LZMA SDK,我想试一试,但我迷路了.

有人有这方面的经验吗?还是教程?谢谢.

java 7zip lzma

16
推荐指数
2
解决办法
4万
查看次数

7-Zip:任何好的教程?

我正在考虑使用7-Zip格式来打包我的应用程序文件,因为它是一种非常紧凑和流行的格式.但是,我找不到一些关于如何使用C++ SDK的教程.我想要一些教我如何:

  • 从内存(缓冲区)而不是直接从磁盘打开存档.
  • 提取存档内的单个文件,缓冲区,而不是磁盘.
  • 检查是否可以在存档中找到某个文件.

c c++ 7zip

16
推荐指数
1
解决办法
1万
查看次数

如何使用python读取7z文件的内容

如何阅读和保存7z的内容.我使用Python 2.7.9,我可以像这样提取或存档,但我无法读取python中的内容,我只在CMD中列出文件的内容

import subprocess
import os

source = 'filename.7z'
directory = 'C:\Directory'
pw = '123456'
subprocess.call(r'"C:\Program Files (x86)\7-Zip\7z.exe" x '+source +' -o'+directory+' -p'+pw)
Run Code Online (Sandbox Code Playgroud)

7zip python-2.7

16
推荐指数
4
解决办法
4万
查看次数

Python3:lzma unpack .7z文件

我想解压缩一个.7z文件.根据这个问题,我可以使用 lzma包来做到这一点.

我期待着类似的东西

import lzma
#...
with lzma.open('myFile.7z') as f:
    f.extractall('.')
Run Code Online (Sandbox Code Playgroud)

要将文件解压缩到当前目录中,但似乎不存在这样的事情.尝试类似的东西

import lzma
#...
with lzma.open('myFile.7z') as f:
    file_content = f.read()
    print(file_content)
Run Code Online (Sandbox Code Playgroud)

确实屈服了_lzma.LZMAError: Input format not supported by decoder.我该如何检查格式?我很惊讶,因为我认为7zip和.7z格式都是开源的,而python应该支持所有内容.

我看到很多答案,人们只是用子进程调用7zip可执行文件,但这不是我想做的.我正在寻找一个简单的python3解决方案.

7zip python-3.x

15
推荐指数
3
解决办法
1万
查看次数

7zip 7za.exe - 不能使用绝对路径名

只是想知道是否有人尝试使用7-zip的7za.exe将zip文件解压缩到其他位置

 7za.exe x sample.zip c:\Temp
Run Code Online (Sandbox Code Playgroud)

给出错误

 Cannot use absolute pathnames for this command
Run Code Online (Sandbox Code Playgroud)

7zip

14
推荐指数
1
解决办法
2万
查看次数

如何使用python以编程方式计算存档中的文件数

在我保持的程序中,它完成如下:

# count the files in the archive
length = 0
command = ur'"%s" l -slt "%s"' % (u'path/to/7z.exe', srcFile)
ins, err = Popen(command, stdout=PIPE, stdin=PIPE,
                 startupinfo=startupinfo).communicate()
ins = StringIO.StringIO(ins)
for line in ins: length += 1
ins.close()
Run Code Online (Sandbox Code Playgroud)
  1. 这真的是唯一的方法吗?我似乎无法找到任何其他命令,但似乎有点奇怪,我不能只询问文件的数量
  2. 错误检查怎么样?是否足以将其修改为:

    proc = Popen(command, stdout=PIPE, stdin=PIPE,
                 startupinfo=startupinfo)
    out = proc.stdout
    # ... count
    returncode = proc.wait()
    if returncode:
        raise Exception(u'Failed reading number of files from ' + srcFile)
    
    Run Code Online (Sandbox Code Playgroud)

    或者我应该实际解析Popen的输出?

编辑:对7z,rar,zip档案(7z.exe支持)感兴趣 - 但7z和zip对于初学者来说已经足够了

python subprocess 7zip popen python-2.7

14
推荐指数
1
解决办法
4312
查看次数

7z扩展为PHP?

我找不到一个,我不知道PHP Compression和Archive Extensions是否有效.

你认为我可以使用压缩流来读取7z文件中的数据吗?

UPDATE

  • 7z论坛有很多关于php扩展的请求

php compression 7zip php-extension

13
推荐指数
1
解决办法
1万
查看次数

如何通过Powershell Remoting运行7za.exe?

我已经尝试了很多不同的方法来做到这一点,它们都会导致同样的错误.这是一组命令:

$s = New-PSsession -ComputerName ServerA
$job = Invoke-Command -Session $s -Scriptblock { Start-Process -FilePath    
    "C:\Scripts\ArchiveEventLogs\ver4.5\7za.exe" -ArgumentList "a", 
    "C:\Scripts\Eventlogs.bak\ServerA-20101111.7z", "C:\Scripts\Eventlogs.bak\*.evt*", 
     "-mx7", "-oC:\Scripts\Eventlogs.bak", "-wC:\Scripts\Eventlogs.bak", "-t7z" -Wait }  
     -AsJob

Get-Job | Wait-Job
Receive-Job Job$
Run Code Online (Sandbox Code Playgroud)

我得到的输出是这样的:

7-Zip (A) 9.17 beta  Copyright (c) 1999-2010 Igor Pavlov  2010-10-04
Scanning

Creating archive C:\Scripts\Eventlogs.bak\ServerA-20101111.7z

ERROR: Can't allocate required memory!
Run Code Online (Sandbox Code Playgroud)

我怎么能通过那个错误?

我应该指出,如果我直接在没有远程处理的ServerA上运行Scriptblock,它就可以工作.谢谢你的帮助!

powershell 7zip invoke-command powershell-remoting

12
推荐指数
2
解决办法
4206
查看次数

7Zip为文件添加加密

我有一个使用7zFM(文件管理器)管理的.7z存档,我可以轻松地将对象添加到此存档中.但是,存档中的对象使用AES进行加密,就像我希望的那样,但是当我添加新内容时,我似乎无法在存档中为该文件添加加密,除非我解密整个存档,然后重新进行处理.

是否有一种简单的方法可以在.7z存档中添加特定文件的加密或删除加密?

7zip archive

12
推荐指数
1
解决办法
8270
查看次数

如何从Java中的7-zip流中提取文件而不将其存储在硬盘上?

我想从一个7-zip字节流中提取一些文件,它不能存储在硬盘上,所以我不能使用RandomAccessFile类,我已经阅读了sevenzipjbinding源代码,它还用一些封闭的源代码解压缩文件比如lib7-Zip-JBinding.so用其他语言写的.和官方包SevenZip的方法一样

SevenZip.Compression.LZMA.Decoder.Code(java.io.InputStream inStream,java.io.OutputStream outStream,long outSize,ICompressProgressInfo progress)

只能解压缩单个文件.

那么如何用纯Java解压缩7-zip字节流呢?

有人有解决方案吗?

抱歉我的英语不好,我在网上等你的答案.

java compression 7zip

12
推荐指数
1
解决办法
2万
查看次数