2012-03-27 101 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」

謝謝。

回答