title: Reading JarEntry from stream
body: <p>I have jar as input stream. I want to read JarEntry directly from stream.
  I do not have jar file, and I don't want to create temporar jar file.</p>
  
  <p>I tried code like this:</p>
  
  <pre><code>    JarInputStream jis = new JarInputStream(in);
      JarEntry je = null;
  
      while ((je = jis.getNextJarEntry()) != null)
      {
          byte[] classbytes = new byte[(int) je.getSize()];
          System.out.println("size of array: " + classbytes.length);
          jis.read(classbytes, 0, classbytes.length);
      }
  </code></pre>
  
  <p>The problem with this code: je.getSize() returns -1 (it means jarEntry size unknown).</p>
  
  <p>1) Maybe you have idea how to work around this?</p>
  
  <p>2) Maybe you know why jarEntry size is unknown? (I used Eclipse File>Export>Jar File to create it)</p>