2012-03-27 77 views
0

我有一个类加载器工作,虽然我现在得到一个错误后,它适应了我的新应用程序。我相信这是因为我正在将整数转换为长整数。“NegativeArraySizeException” - 自定义类加载器

private byte[] loadClassData(String name) { 
    try { 
     JarInputStream jis = new JarInputStream(new ByteArrayInputStream(dec)); 
     JarEntry entry = null; 
     String entryName = null; 
     while((entry = jis.getNextJarEntry()) != null) 
     { 
      entryName = entry.getName(); 
      if(entryName.equalsIgnoreCase(name)) 
      { 
       try{ 
        classBytes = new byte[(int)entry.getSize()]; 
        jis.read(classBytes, 0, classBytes.length); 
        return classBytes; 
       }catch(Exception ex){ 
        ex.printStackTrace(); 
        return null; 
       } 
      } 
     } 
     return classBytes; 
    } catch (IOException e) { 
     e.printStackTrace(); 
     System.out.println(e.getMessage()); 
    } catch (Exception ex) { 
     ex.printStackTrace(); 
     System.out.println(ex.getMessage()); 
    } 
    return null; 
} 

不管怎么说,这是它的基本功能。我在“新的字节[(int)entry.getSize()];”部分。

“java.lang.NegativeArraySizeException”

谢谢。

回答