我有一个Java代码,它传递一个Zip文件列表,其中一个是故意格式化的。此Zip文件位于列表的末尾。
我的代码看起来有点像:
System.out.println("Hi Stinky Pete ");
try
{
for (File files : file)
{
zip_str = new ZipInputStream(new BufferedInputStream(new FileInputStream(file)));
yada;
}
}
catch(Exception)
{
}
它永远不会打印“Hi Stinky Pete”或处理任何文件,然后才能到达坏的zip文件,这是列表中的第4或第20个文件,它只是抛出ZipException。另外,我无法捕获ZipException!它总是起泡并终止我的程序。 任何帮助都会很棒。
答案 0 :(得分:0)
这个类路径上的这个格式错误的ZIP文件是否有机会?或者你的班级中是否有一个静态初始化程序试图打开它?
仔细查看异常堆栈跟踪以查看它被抛出的位置。如果您无法解释它,那么在您的问题中发布堆栈跟踪。
答案 1 :(得分:0)
我道歉但我继承了代码。我继承的代码执行了一个循环文件列表,在一个单独的运行线程中将它们转换为ZipFile
。这就是我无法抓住它或获得StackTrace的原因。基本上就是,
for( File files : file)
{
ZipFile zip = new ZipFile(file);
}
他们这样做是为了检查他们的Zip文件,但没有抓住。对不起该帖子!