Working with ZipInputStream object, how can available() return a 1 but read return a -1?
<p>Guys here is the relevant code...</p>

<pre><code>ZipInputStream zis = new ZipInputStream(zip.getInputStream(ze));
System.out.println(zis.available());
int count = zis.read(data,0,buffer);
System.out.println(count);
</code></pre>

<p>I continually get this as output...
1
-1</p>

<p>Now its my understanding that a 1 for available means it isn't at the end of the file and -1 returned from read means it is the end of the file.  How can they both be true?</p>
