解压缩总是出现“WinRAR诊断信息”,显示“这个压缩文件格式未知或者数据已经被损坏”

解压缩总是出现“WinRAR诊断信息”,显示“这个压缩文件格式未知或者数据已经被损坏”,第1张

原因:压缩包损坏了。

1、首先找到损坏的压缩包,选择RAR压缩包,并在其上单击鼠标右键,出现快捷菜单,选择菜单中的“解压文件”命令。

2、在d出的“解压路径和选项”窗口中,选择文件解包后放置的具体路径,然后选择“杂项”分组框中的“保留被损坏的文件”复选框。

3、点击下方的保存设置之后,点击右下角的“确定”选项。

4、然后就可以解压出来了。

在没有解压完(提示出错的情况下)拷贝文件到其它目录,等解压完成,OK,文件依然好用,这个方法应该是有针对性地,还是枚举一下网络的做法。

网络的方法:

办法一:WinRAR本身就带有压缩包修复功能。点击菜单“工具”下的“修复压缩文件”即可,快捷键是“ALT+R”。此法可修复一部分压缩包的常规错 误,但是成功率不高。你可以试着连续修复几次。WinRAR的这个功能对压缩包里有很多文件且文件容量都比较小的情况比较适用。

办法二: 打开压缩包(不是解压,而是用WinRAR打开),选中你要解压缩的文件,单击鼠标右键,在d出的菜单里选择“无需确认直接解压缩”,快捷键是“ALT+W”。用此方法,不管是好的压缩包还是坏的压缩包,统统畅行无阻,成功率100%!

办法三:釜底抽薪法!

其原理就是让RAR压缩包内损坏的文件解压缩出来,不理会WinRAR的警告,能解压多少就解压多少。解压缩软件还是用WinRAR,不过要做小小的设置。

在右键点击解压缩文件后跳出的窗口里,把“保留被损坏的文件”复选框选中,点击确定开始解压缩。不要理会解压缩出错的信息,解压缩结束之后你会发现损坏的文件被解压出来了。经过这样解压出来的损坏文件能正常使用的几率还是非常高的。

做好保险工作

1做好恢复记录

原始RAR压缩包在压缩时,如果选择放置恢复记录,这样用户下载后即使CRC出错也有自己修复的机会!

2采取分卷压缩

采取分卷压缩的方法便可较大地减少因为出现不可恢复的错误带来的损失。

3老文件也加恢复记录

有人也许会问,新压缩的RAR压缩包可以加入恢复记录,那么已经压缩过的RAR包有没有办法也加上恢复记录呢?给已经压缩好的RAR压缩包加上恢复纪录是有办法的。

只需要打开压缩包,在“命令”菜单中选择“保护档案文件”即可。

小常识:

其实RAR压缩包出错的解决方法主要是以预防为主!如果没有预防,等到真正出了问题,技术上也是没办法完美解决的!像循环冗余校验码(CRC)出错这种情况,如果RAR压缩包不包含恢复记录的话,用户自己想要修复CRC是不可能的!本文的主要目的是想告诉大家一些出错的原因以及讨论一些从根本上预防出错和把损失减少到最小的办法而已!

附:

1CRC算法原理

CRC是Cyclic Redundancy Code的缩写,翻译成中文就是“循环冗余码”,它采用多项式编码方法,是一种高效的差错控制方法。所谓的CRC32也就是32位的CRC算法,这就是前面介绍的SFV采用的算法。由于CRC算法编码和解码方法简单,检错和纠错能力强,因此在通信、卫星、控制等领域都有着广泛的应用,在我们的电脑中,也被广泛应用于压缩,光盘刻录、数据存储等方面。

其实说到CRC,大家更多想到的就是压缩软件,因为许多朋友都遇到过压缩软件提示“CRC错误”,这实际上就是一种文件校验过程,只不过这个过程被自动化了:压缩软件在压缩文件时自动在压缩包内添加CRC校验信息,在解压缩时会自动对CRC进行校验,检查文件是否完整和正确。

实战:CRC错误的解决方法

现象一:最近WinRAR不论解压缩什么文件,都是提示“CRC 校验失败,文件被破坏”。

解决方案:出现这种情况,可能是WinRAR的临时文件保存出现了问题,一般只需要打开系统临时目录(Windows 2000/XP下为\Documents and Settings\用户名\Local Settings\Temp),删除其中名为“Rar$DI00”之类的文件夹即可。

现象二:刚下载的一个软件压缩包,使用WinRAR解压时提示某个文件“CRC 校验失败,文件被破坏”。

解决方案:这种情况可以判断是那个压缩包出了问题,但很多情况下出现CRC错误时并不代表整个压缩包都已经坏掉,很可能只是某个文件有部分损坏。你可以尝试使用“命令”菜单中的“修复压缩文件”,一般可以解决部分CRC错误的问题。如果仍然不能解决,你可以尝试一下强制解压技巧:首先打开压缩包,选择除那个CRC错误文件以外的所有文件,先将正常的文件解压出来,然后解压那个出错的文件,当提示CRC错误信息时,不要点击任何确认按钮,打开“资源管理器”,找到解压后的文件保存路径,可以看到那个出错的文件实际已经被解压了,把它复制到其他文件保存的文件夹中,然后再试试看程序能否正常运行,很多情况下,如果这个文件不是可执行程序,对运行的影响不是很大。

简单方便的WinRAR用户身份校验

WinRAR本身除了具备CRC自动校验功能外,还为用户提供了专门的身份校验功能,可以帮助用户了解自己的压缩包是否被人修改过。

实战:制作一个“只许用不许改”的压缩包

在“资源管理器”中选择要压缩的文件,单击鼠标右键,选择“添加到压缩文件”,打开“压缩文件名和参数”窗口,勾选“压缩选项”中的“添加用户身份校验信息”选项,单击“确定”按钮生成压缩包。

双击打开这个压缩包,可以在地址栏中看到“用户校验信息存在”的提示,单击菜单“命令→显示信息”打开对话框,在“用户身份校验信息”栏中可以看到该压缩包的文件名、创建者以及创建日期信息(见图1),记下这些信息,尤其是“创建者”中的信息。

现在你可以把这个压缩包提供给接收方,并同时提供用户身份校验信息。当对方打开这个压缩包时,可以打开“显示信息”对话框,并与你提供的身份校验信息进行 比对,如果完全一样的话,说明压缩包没有被修改过,如果身份校验信息不存在或者有了变化,则说明压缩包已经被修改过了。

小提示

该功能需要使用注册版的WinRAR,因为身份校验信息就是根据注册用户名来生成的,一个被添加了身份校验信息的压缩包被重新修改时,将丢失身份校验信息,这就是它的校验原理

或者:用一个工具TOTALCMD,可以查看RAR文件包中的所有内容,然后将它们COPY出来就OK了,CRC校验错的文件除了它自己无法被COPY,不会影响其他文件的COPY。

问题一:解压文件的时候显示文件被破坏怎么办? 下载的文件可能不完整,删除,重新下载

问题二:解压文件出错是怎么回事 怎么修复 这个绝大情况下是压缩文件出现了数据缺失,所以导致解压无法正常完成。

有可能是下载过程中网路不稳定,或者是上传文件本身就是有问题的。建议重新下载尝试,如果还不行,那就表示该文件果断有问题。

问题三:为什么解压文件时说文件损坏或者密码错误 判断出错原因

出错信息为“CRC失败于加密文件(口令错误)”(RAR压缩包设了密码,但密码输入错误或是密码输入正确但循环冗余校验码(CRC)出错!只不过因为此RAR压缩包加了密码的缘故,所以WRAR才猜测说可能是“口令错误”)

区分上面两种错误的方法:如果密码输入错误的话是无法解压出任何文件的!但如果压缩包内有多个文件,且有一部分文件解压缩出来了,那么应该是RAR压缩包循环冗余校验码(CRC)出错而不是密码输入错误。

循环冗余校验码(CRC)出错,这是最常见的情况,这也是本文讨论的重点!和上面的几种解压缩出错不同,这种情况是和RAR压缩包损坏有关的。

原因有几种:

(1)网络传输状况不好(如断线过多,开的线程过多,服务器人太多导致不能连接太多等)导致下载下来的文件损坏!

(2)站点提供的的RAR压缩包本来就是损坏的(这就没办法了,除非此压缩包中含有回复记录)。三联教程

(3)所使用的下载工具不够完善,比如有的下载工具多开了几个线程后,下载的收尾工作很慢,有些时候下载到99%时数据就不再传输了,一定要人工 *** 作才能结束(先停止下载接着再开始)。笔者就碰到过好几次这样的情况。结果是文件下载下来以后解压缩到快结束时CRC出错。

应急解决方法

1利用恢复记录

想要修复CRC是有条件的,必须是此RAR压缩包中有恢复记录,而此恢复记录是RAR压缩包被压缩时的可选项。

而WinRAR压缩时默认是不放置恢复记录的,如果提供的是这样的RAR压缩包,那么用户自己想要修复CRC错误是不可能的。

2釜底抽薪

如果RAR压缩包中的文件是那种即使文件有缺失仍能正常或较为正常地使用的(其实大多数的文件对部分数据损坏都不是非常敏感的),那便可以使出我们的终极杀招:釜底抽薪法!

其原理就是让RAR压缩包内损坏的文件解压缩出来,不理会WinRAR的警告,能解压多少就解压多少。解压缩软件还是用WinRAR,不过要做小小的设置。

在右键点击解压缩文件后跳出的窗口里,把“保留被损坏的文件”复选框选中,点击确定开始解压缩。不要理会解压缩出错的信息,解压缩结束之后你会发现损坏的文件被解压出来了。经过这样解压出来的损坏文件能正常使用的几率还是非常高的。

做好保险工作

1做好恢复记录

原始RAR压缩包在压缩时,如果选择放置恢复记录,这样用户下载后即使CRC出错也有自己修复的机会!

2采取分卷压缩

采取分卷压缩的方法便可较大地减少因为出现不可恢复的错误带来的损失。

3老文件也加恢复记录

有人也许会问,新压缩的RAR压缩包可以加入恢复记录,那么已经压缩过的RAR包有没有办法也加上恢复记录呢给已经压缩好的RAR压缩包加上恢复纪录是有办法的。

只需要打开压缩包,在“命令”菜单中选择“保护档案文件”即可。

小常识:

其实RAR压缩包出错的解决方法主要是以预防为主!如果没有预防,等到真正出了问题,技术上也是没办法完美解决的!像循环冗余校验码(CRC)出错这种情况,如果RAR压缩包不包含恢复记录的话,用户自己想要修复CRC是不可能的!本文的主要目的是想告诉大家一些出错的原因以及讨论一些从根本上预防出错和把损失减少到最小的办法而已!

问题四:使用winrar 解压文件出现错误,文件被损坏怎么办? 1系统盘空间小,一般解压文件先将文件放在临时文件夹,系统默认在系统盘,解压完后在复制到解压目录,当你的系统盘剩余空间小时就会出现上述情况 同意

2是不是中什么毒了 导致破坏了你的wirar程序

问题五:手机解压文件出错怎么办? 要看一下压缩文件格式是rar还是zip,一般改一下格式名称可以了。

问题六:下载出来的软件,为什么解压老失败? 检验下MD5,

可能的原因

1网络原因在下载过程中,出现数据冗余就是缺斤少两网速问题我是解决不了最好是下载后用MD5检验器检查下数据的完整性

2内存原因数据和内存有个交接过程若内存有问题也会影响到数据包完整性取下来用橡皮擦下

3下载后要清空历记录这是IE的问题有时下载一半其实没下载完但它提示下载完了这时你将IE的历史记录清空一下再下载就不会了

问题七:为什么我解压文件会提示文件错误 附件经常会是一系列的压缩文件,下载是默认文件名是一个随机数字。

因而下载完会出现压缩文件解压缩失败

解决方法:下载时重命名为带一定顺序的文件名,如文件1,文件2,文件3等

如何解决单个文件解压失败?

论坛中的许多资料都是使用RAR压缩的,上传到下载,在解压过程中可能会出现错误。一般出现最多的是“CRC”错误,就是在解压末端出现了错误。主要的原因是:1源文件就有压缩的错误;2 下载的时候由于线程太多,在收尾的时候出现了错误;3下载没有完全。

解决的办法:一、修复。

1、首先打开WinRAR主窗口,从地址栏转入受损压缩文件所在的目录,选中受损的压缩文件。

2、用鼠标点击WinRAR工具栏上的“Repair”,然后在下拉菜单上选中“Repair archiver”,这时WinRAR会d出一个对话框,让你选择修复文件的存放路径。

3、设定好后点击“OK”确定,WinRAR就会开始对受损的压缩文件进行修复,并会以对话框的形式显示修复的全过程。

4、进入你设定的修复文件的存放目录,你会发现该目录下增加了一个名为_reconstrar或_reconstzip的压缩文件,它就是WinRAR为你修复好的文件。试着对它进行解压缩,如果一切正常,那么恭喜你,你的受损的压缩文件已经修复了!

需要说明的是,WinRAR内置的压缩文件修复功能并非对于所有受损的压缩文件都有效,对于那些受损严重的压缩文件,WinRAR也会变得无能为力,或者只能修复压缩包中的某些文件。

我采用的方法很简单:在没有解压完(提示出错的情况下)拷贝文件到其它目录,等解压完成,OK,文件依然好用,这个方法应该是有针对性地,还是枚举一下网络的做法。

网络的方法:

办法一:WinRAR本身就带有压缩包修复功能。点击菜单“工具”下的“修复压缩文件”即可,快捷键是“ALT+R”。此法可修复一部分压缩包的常规错误,但是成功率不高。你可以试着连续修复几次。WinRAR的这个功能对压缩包里有很多文件且文件容量都比较小的情况比较适用。

办法二: 打开压缩包(不是解压,而是用WinRAR打开),选中你要解压缩的文件,单击鼠标右键,在d出的菜单里选择“无需确认直接解压缩”,快捷键是“ALT+W”。用此方法,不管是好的压缩包还是坏的压缩包,统统畅行无阻,成功率100%!

办法三:釜底抽薪法!

其原理就是让RAR压缩包内损坏的文件解压缩出来,不理会WinRAR的警告,能解压多少就解压多少。解压缩软件还是用WinRAR,不过要做小小的设置。

在右键点击解压缩文件后跳出的窗口里,把“保留被损坏的文件”复选框选中,点击确定开始解压缩。不要理会解压缩出错的信息,解压缩结束之后你会发现损坏的文件被解压出来了。经过这样解压出来的损坏文件能正常使用的几率还是非常高的。

做好保险工作

1做好恢复记录

原始RAR压缩包在压缩时,如果选择放置恢复记录,这样用户下载后即使CRC出错也有自己修复的机会!

2采取分卷压缩

采取分卷压缩的方法便可较大地减少因为出现不可恢复的错误带来的损失。

3老文件也加恢复记录

有人也许会问,新压缩的RAR压缩包可以加入恢复记录,那么已经压缩过的RAR包有没有办法也加上恢复记录呢?给已经压缩好的RAR压缩包加上恢复纪录是有办法的。

只需要打开压缩包,在“命令”菜单中选择“保护档案文件”即可。

小常识:

其实RAR压缩包出错的解决方法主要是以预防为主!如果没有>>

问题八:最近下载的压缩文件基本都会出现解压错误,这是怎么回事? 下载的文件无法解压 说明文件肯定是损坏的 损坏的主要原因一般是:

你的网络不好,或者下载的网速出现问题(比如你是电信,下载的国外的文件) 或者文件偏大,导致下载时间过长 网速过慢 导致文件没完全下载完就提前结束了 导致解压的时候报错。

另外就是你下载的这个文件在服务器端就有问题 不管你用什么下载都解压不了

建议你用IE浏览器自带的下载工具下载看看 它这个下载不了会直接提示下载失败

问题九:为什么解压文件失败 可以看出你下载的是分卷压缩包,即是将一个文件分为N个分卷供人下载,下载后的全部分卷应放在同一个目录下按 XXXpart1rar XXXpart2rar XXXpart3rar XXXpart4rar ……………… XXXpart Nrar的顺序分别解压后,得到完整的源文件。但是,要顺利解压,必需保证一是源文件所有的分卷文件压缩包要全部下载到本地同一目录;二是所有的压缩包不能(下载过程中)损坏。从你提供的上看不出你到底有几个分卷,但是可以肯定的是你的第3个(XXXpart3rar)分卷压缩包没有完成解压,原因是你需要提供第2个(XXXpart2rar)才能解压缩第3个压缩分卷包。

以下情况可导致解压失败:

1、解压软件WZIP(或WinRAR)软件安装不全。

2、解压时指定的路径不对。

3、解压到的路径的磁盘满了。

4、文件自身的问题。 

解压缩(Decompression)是压缩的反过程,是将一个通过软件压缩的文档、文件等各种东西恢复到压缩之前的样子。解压文件的方法是:右击图标-解压文件-确定(前提为安装过相关解压软件并关联过右键菜单),解压完成以后就会在压缩文件所在目录出现一个新的文件,这个文件就是你解压出来的文件,但其也有可能不是一个文件,是由多个文件组成的东西。

压缩原理:

由于计算机处理的信息是以二进制数的形式表示的,因此压缩软件就是把二进制信息中相同的字符串以特殊字符标记来达到压缩的目的。为了有助于理解文件压缩,请您在脑海里想象一幅蓝天白云的。

对于成千上万单调重复的蓝色像点而言,与其一个一个定义“蓝、蓝、蓝……”长长的一串颜色,还不如告诉电脑:“从这个位置开始存储1117个蓝色像点”来得简洁,而且还能大大节约存储空间。这是一个非常简单的图像压缩的例子。

其实,所有的计算机文件归根结底都是以“1”和“0”的形式存储的,和蓝色像点一样,只要通过合理的数学计算公式,文件的体积都能够被大大压缩以达到“数据无损稠密”的效果。总的来说,压缩可以分为有损和无损压缩两种。

如果丢失个别的数据不会造成太大的影响,这时忽略它们是个好主意,这就是有损压缩。有损压缩广泛应用于动画、声音和图像文件中,典型的代表就是影碟文件格式mpeg、音乐文件格式mp3和图像文件格式jpg。

但是更多情况下压缩数据必须准确无误,人们便设计出了无损压缩格式,比如常见的zip、rar等。压缩软件(compression software)自然就是利用压缩原理压缩数据的工具,压缩后所生成的文件称为压缩包(archive),体积只有原来的几分之一甚至更小。

当然,压缩包已经是另一种文件格式了,如果你想使用其中的数据,首先得用压缩软件把数据还原,这个过程称作解压缩。常见的压缩软件有winzip、winrar等。

上次利用java自动的javautilzipZipEntry和�0�2javautilzipZipFile来解压zip文件,今天发现程序在读取解压文件时居然报了空指针异常,debug程序后发现时读取不到文件,产生原先是zip压缩文件中含有中文的名称,读取文件名为乱码,

报找不到文件名,所以报了空指针,想到ant构建文件也有这个功能,换了apache的antjar居然解决了中文的问题。

备份下。

�0�2import javaioBufferedReader;

import javaioFile;

import javaioIOException;

import javaioInputStreamReader;

import javautilEnumeration;

import orgapachetoolszipZipEntry;

import orgapachetoolszipZipFile;/ 读取zip压缩文件中文本的内容

@author fish/public class ReadZip {

public static void main(String args[]) {try {String fileName = "D:/workspace/java/src/ReadZipzip";

//构造ZipFile

ZipFile zf = new ZipFile(new File(fileName));

//返回 ZIP file entries的枚举

Enumeration< extends ZipEntry entries = zfgetEntries();

while (entrieshasMoreElements()) {

ZipEntry ze = entriesnextElement();

Systemoutprintln("name:"+zegetName());

long size = zegetSize();

if (size 0) {

Systemoutprintln("Length is " + size);

BufferedReader br = new BufferedReader(

new InputStreamReader(zfgetInputStream(ze)));

String line;

while ((line = brreadLine()) != null) {

以上就是关于解压缩总是出现“WinRAR诊断信息”,显示“这个压缩文件格式未知或者数据已经被损坏”全部的内容,包括:解压缩总是出现“WinRAR诊断信息”,显示“这个压缩文件格式未知或者数据已经被损坏”、为什么我下的所有压缩包打开时都出现无法执行的错误、为什么解压文件出错等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9403644.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存