我想从xxx.tar中提取数据。通过使用<code>tar-zxvf</code>命令创建gzhtml" target="_blank">文件,但我遇到了一些错误,下面是详细信息:
Suse11-config server:/home/webapp/wiki#tar-zxvfdokuwiki.20151010.tar.gz
./嘟嘟/
./dokuwiki/._.htaccess.dist
./dokuwiki/.htaccess.dist
./dokuwiki/bin/
./dokuwiki/conf/
./dokuwiki/._COPYING
/dokuwiki/复制
焦油:跳到下一个头
gzip:stdin:压缩数据无效--格式冲突
TAR:儿童返回状态1
tar:错误不可恢复:立即退出
但是这个命令tar-zxvfdokuwiki.20151010.tar.gz
在MacOS x
系统中运行良好,我想不出原因。
Gzip在他们的常见问题解答中对此错误进行了预期的修复。提供的实用程序在我的情况下没有帮助,但它可能会修复您的存档。根据格西普:
如果您已经以ASCII模式传输了一个文件,并且您不再能够访问原始文件,您可以尝试使用程序fixgz来删除传输过程中插入的额外CR(回车)字节。一个Windows 9x/NT/2000/ME/XP二进制在这里。但绝对不能保证这将实际修复您的文件。结论:千万不要以ASCII模式传输二进制文件。
如果您在gzip.org的网站上再也找不到< code>fixgz,以下是archive.org上可用版本的链接:https://web . archive . org/web/20180624175352/http://www . gzip . org/fix gz . zip。
此外,如果它也消失了,下面是< code>fixgz实用程序的源代码:
/* fixgz attempts to fix a binary file transferred in ascii mode by
* removing each extra CR when it followed by LF.
* usage: fixgz bad.gz fixed.gz
* Copyright 1998 Jean-loup Gailly <jloup@gzip.org>
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the author be held liable for any damages
* arising from the use of this software.
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely.
*/
#include <stdio.h>
int main(argc, argv)
int argc;
char **argv;
{
int c1, c2; /* input bytes */
FILE *in; /* corrupted input file */
FILE *out; /* fixed output file */
if (argc <= 2) {
fprintf(stderr, "usage: fixgz bad.gz fixed.gz\n");
exit(1);
}
in = fopen(argv[1], "rb");
if (in == NULL) {
fprintf(stderr, "fixgz: cannot open %s\n", argv[1]);
exit(1);
}
out = fopen(argv[2], "wb");
if (in == NULL) {
fprintf(stderr, "fixgz: cannot create %s\n", argv[2]);
exit(1);
}
c1 = fgetc(in);
while ((c2 = fgetc(in)) != EOF) {
if (c1 != '\r' || c2 != '\n') {
fputc(c1, out);
}
c1 = c2;
}
if (c1 != EOF) {
fputc(c1, out);
}
exit(0);
return 0; /* avoid warning */
}
您的命令是正确的。但文件似乎已损坏。很容易判断,何时正确提取了某些文件(例如./dokuwiki/.htaccess.dist
),但其余文件则不然。
重新创建< code > dokuwiki . 2015 10 10 . tar . gz 文件,并确保在执行此操作时不会报告错误。如果您从某处下载了文件,请验证校验和,或者至少验证文件大小。
底线是,文件创建或下载不正确。您拥有的命令应该可以很好地处理.tar.gz
文件。
我得到无效的zip,当写入文件以下代码: 我将其写入文件的方式是: 我做错了什么?
我正在向我的远程服务器发送以将其存储在文件系统中。为此,我使用Java协议。为了避免网络带宽和TCP输入/输出缓冲内存,我以压缩格式发送数据。但是,我无法解压缩从客户端收到的数据。我得到了ZLIB输入流的异常。这是因为服务器正在接收。 Java代码 客户 服务器 有没有办法在Socket中以GZIP压缩格式发送数据?
我想知道我们可以在多大程度上进行无损数据压缩;我无法找到一个无损算法的在线模拟器来执行一些经验测试。我可以自己做一个,但不幸的是,我在这段时间没有足够的时间;我仍然对我的直觉感到好奇,我将解释一下。 让我们只看两种更流行的算法:
问题内容: 我正在使用以下代码来压缩和解压缩字符串数据,但是我面临的问题是,它很容易被压缩而不会出错,但是decompress方法会引发以下错误。 线程“主”中的异常java.io.IOException:不是GZIP格式 仍然不知道如何解决此问题!!! 问题答案: 这是因为 发送您可以从中获得的,并在其中使用它来构建您的。以下是需要在代码中进行的更改。
问题内容: 我想编写一个存储后端来存储更大的数据块。数据可以是任何东西,但主要是二进制文件(图像,pdf,jar文件)或文本文件(xml,jsp,js,html,java …)。我发现大多数数据已经被压缩。如果所有内容都经过压缩,则可以节省大约15%的磁盘空间。 我正在寻找最高效的算法,该算法可以高概率地预测可以压缩或不压缩(无损压缩)大块数据(假设无损压缩),而不必尽可能查看所有数据。 压缩算法