标签: unzip

如何在 Azure 数据工厂 v2 中解压缩 zip 文件

我正在尝试使用 Azure 数据工厂 v2 解压缩 zip 文件(内部有多个文件)。该 zip 文件位于 Azure 文件存储中。ADF 复制任务仅复制原始 zip 文件而不解压缩它。关于如何进行这项工作有什么建议吗?

这是当前的配置:

  1. zip 文件源设置为压缩类型 = ZipDeflate 的二进制数据集。
  2. 目标文件夹也设置为二进制数据集,但压缩类型 = None。
  3. 创建了具有单个复制任务的管道,以将文件从 zip 文件移动到目标文件夹。

zip unzip azure-data-factory

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

Java的解压缩实用程序性能不佳

我注意到与使用WinZip等本机工具相比,Java中的解压缩工具非常慢.

是否有可用于Java的第三方库更高效?开源是首选.

编辑

这是使用Java内置解决方案vs 7zip的速度比较.我在原始解决方案中添加了缓冲输入/输出流(感谢Jim,这确实产生了很大的不同).

Zip文件大小:800K Java解决方案:2.7秒7Zip解决方案:204毫秒

以下是使用内置Java解压缩的修改代码:

/** Unpacks the give zip file using the built in Java facilities for unzip. */
@SuppressWarnings("unchecked")
public final static void unpack(File zipFile, File rootDir) throws IOException
{
  ZipFile zip = new ZipFile(zipFile);
  Enumeration<ZipEntry> entries = (Enumeration<ZipEntry>) zip.entries();
  while(entries.hasMoreElements()) {
    ZipEntry entry = entries.nextElement();
    java.io.File f = new java.io.File(rootDir, entry.getName());
    if (entry.isDirectory()) { // if its a directory, create it
      continue;
    }

    if (!f.exists()) {
      f.getParentFile().mkdirs();
      f.createNewFile();
    }

    BufferedInputStream bis = new BufferedInputStream(zip.getInputStream(entry)); …
Run Code Online (Sandbox Code Playgroud)

java unzip

8
推荐指数
2
解决办法
9610
查看次数

如何使用PHP代码解压缩zip文件夹

我想解压导演.

这意味着我有一个压缩的目录名xxx.zip.在手册册我对上压缩目录中点击并做解压的文件夹,然后我买了名的解压缩dirtectory xxx并在此目录中有一个相同的目录xxx.在子文件夹将包含的文件.

这意味着,xxx-> xxx->文件这是解压缩文件夹的heirarchi.

因此,在我的网站中,我想使用PHP代码解压缩目录.

我怎样才能做到这一点?我只需要xxx->files不是xxx->xxx->files结构.

我怎样才能做到这一点?

php zip unzip

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

阅读zip文件中的zip文件

我有zip文件在zip文件的文件夹里面,请建议我如何使用zip输入流阅读它.

例如:

abc.zip
    |
      documents/bcd.zip
Run Code Online (Sandbox Code Playgroud)

如何在zip文件中读取zip文件?

java zip file unzip

8
推荐指数
2
解决办法
8825
查看次数

nodejs从url下载并解压缩文件,错误没有找到END标头

我正在尝试从nseindia.com下载文件并在内存中解压缩.我正在使用nodejs webkit和adm-zip.我在控制台上收到错误:

未捕获的无效或不支持的zip格式.找不到END标头

代码:

var http = require('http'),
                fs = require('fs'),
                request = require('request'),
                AdmZip = require('adm-zip'),
                out = fs.createWriteStream('data/nseeqbhav.zip'); // For saving NSE Equity bhavcopy


// Downloading NSE Bhavcopy 
request(
           { method: 'GET',
               uri: 'http://www.nseindia.com/content/historical/EQUITIES/2012/DEC/cm19DEC2012bhav.csv.zip',
               headers: { "User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11",
                   "Referer": "http://www.nseindia.com/products/content/all_daily_reports.htm",
                   "Accept-Encoding": "gzip,deflate,sdch",
                   "encoding": "null",
                   "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
                   "Cookie": "cookie"
               }
           }
            ).pipe(out);
            var zip = new AdmZip("data/nseeqbhav.zip"),
            zipEntries = zip.getEntries();
            zip.extractAllTo(/*target path*/"data/unzip/", /*overwrite*/true);
Run Code Online (Sandbox Code Playgroud)

我试着跟随结束流但没有成功.

out.end();
out.destroy(); 
Run Code Online (Sandbox Code Playgroud)

提前致谢.

unzip download node.js adm-zip

8
推荐指数
1
解决办法
8333
查看次数

如何使用Gradle在没有第一个目录的情况下提取

我正在尝试提取没有PARENT目录的从属zip文件,在使用Gradle提取时排除某些文件.

这是我得到的,这有效,但感觉不对,我希望有更好的方法来做到这一点

我提取的Zip文件

jar tf parent-folder-name.zip


parent-folder-name/bin/something.sh
parent-folder-name/bin/something.bat
parent-folder-name/lib/somelib.jar
Run Code Online (Sandbox Code Playgroud)

选项1

task explodeToDist1(type: Copy) {
    from zipTree(configurations.extractDist.singleFile)
    exclude "**/lib/**"
        eachFile {
            def newPath = it.relativePath.segments[1..-1].join("/")
            it.relativePath = RelativePath.parse(true, newPath)
        }
    into 'build/dist'
    doLast {
        def path = buildDir.getPath() + "/dist/parent-folder-name"
        def dirToDelete = new File(path)
        dirToDelete.deleteOnExit()
    }
}
Run Code Online (Sandbox Code Playgroud)

选项2

task explodeToDist2 << {
        def unzipDir = new File('build/unzipTmp')
        copy {
            from zipTree(configurations.extractDist.singleFile)
            into unzipDir
        }
        def rootZipDir = unzipDir.listFiles()[0]
        fileTree(rootZipDir){
                exclude "**/lib/**"
        }.copy {
            into 'src/dist'
        }
        unzipDir.deleteDir()
}
Run Code Online (Sandbox Code Playgroud)

对我来说选项2 …

groovy build unzip gradle

8
推荐指数
1
解决办法
2202
查看次数

如何在不使用bash脚本重新创建所有路径的情况下解压缩到特定目录

在我的ios应用程序中,我需要将放在/ var/mobile/Library/Preferences/xxx中的存档解压缩到例如/ var/mobile/Library/Preferences/tmp中.

我的问题是,当我启动它时:

unzip /var/mobile/Library/Preferences/xxx/archive.zip -d /var/mobile/Library/Preferences/tmp/
Run Code Online (Sandbox Code Playgroud)

在tmp文件夹中,有所有归档路径:/ var/mobile/Library/Preferences/tmp/var/mobile/Library/Preferences/xxx/archive/...

我怎么能只为/ var/mobile/Library/Preferences/tmp/archive/...而不是所有存档路径进入目标目录?

提前致谢

bash command-line unzip

8
推荐指数
1
解决办法
6029
查看次数

在javascript中使用JSZIP提取压缩文件

在我的网页中,用户应该上传压缩文件.在压缩文件中有2个文件:另一个zip文件和一个txt文件.在我的服务器上,收到zip后,我想解压缩zip文件以解压zip&txt文件,然后将这2个文件移动到预定义的文件夹中.我有一段代码提取zip文件,但数据似乎不正确.首先,当只有1个txt文件时,它解压缩了一个zip和2个txt文件.它创建了一个额外的"未定义"txt文件.此外,在我的txt文件中,它替换为原始数据,而是替换为以下文本:'[undefined] [undefined]'.
谁可以帮我这个事?以下是我的代码:

var JSZip = require('JSZip');

fs.readFile( filePath, function(err, data){
  if (!err){
    var zip = new JSZip();
    JSZip.loadAsync(data).then(function(zip){
      object.keys(zip.files).forEach(function(filename){
        var content = zip.files[filename];
        var dest = path + filename;
        fs.writeFileSync(dest, content);
      });
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

javascript unzip jszip

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

扩展存档奇怪错误

我正在尝试获取 Autodesk Revit 文件中的一些数据,该文件只是皮肤下的 ZIP。我可以使用 7zip 进行解压,但我希望能够使用所有本机 PS 或 Windows 实现自动化操作。在将 RVT 文件重命名为 ZIP 后,我尝试了 Expand-Archive,但 Expand-Archive 有一个奇怪的错误。代码是

Expand-Archive -path:'C:\RevitVersionTest\22-PLUMB-CLR-RECTANGULAR.zip' -destinationPath:'C:\Revit Fam'
Run Code Online (Sandbox Code Playgroud)

错误是

新对象:使用“3”个参数调用“.ctor”时出现异常:“无法找到中央目录记录末尾。”

powershell unzip

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

从 ZIP 存档中提取单个文件

我正在使用下面的代码下载一些 zip 存档:

$client = new-object System.Net.WebClient
$client.DownloadFile("https://chromedriver.storage.googleapis.com/$LatestChromeRelease/chromedriver_win32.zip","D:\MyFolder.zip")
Run Code Online (Sandbox Code Playgroud)

结果我得到了包含所需文件的 ZIP 存档“MyFolder.zip”(让我们想象一下“test.txt”)。

如何将这个特定文件从 ZIP 存档提取到给定文件夹中?

powershell zip unzip system.io.compression

8
推荐指数
1
解决办法
5067
查看次数