Java ZipInputStream Exception在代码执行之前抛出

时间:2012-08-13 15:19:48

标签: java exception-handling

我有一个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!它总是起泡并终止我的程序。 任何帮助都会很棒。

2 个答案:

答案 0 :(得分:0)

这个类路径上的这个格式错误的ZIP文件是否有机会?或者你的班级中是否有一个静态初始化程序试图打开它?

仔细查看异常堆栈跟踪以查看它被抛出的位置。如果您无法解释它,那么在您的问题中发布堆栈跟踪

答案 1 :(得分:0)

我道歉但我继承了代码。我继承的代码执行了一个循环文件​​列表,在一个单独的运行线程中将它们转换为ZipFile。这就是我无法抓住它或获得StackTrace的原因。基本上就是,

for( File files : file)
{
    ZipFile zip = new ZipFile(file);
}

他们这样做是为了检查他们的Zip文件,但没有抓住。对不起该帖子!