title: The ZipInputStream can't read all information of zip file
body: <p>I wrote some code using <code>ZipInputStream</code> but there is something wrong with it.</p>
  
  <pre><code>ZipInputStream zin=null;
  zin=new ZipInputStream(new BufferedInputStream(
      new FileInputStream("e:/testzip.zip")));
  ZipEntry ze;
  while((ze=zin.getNextEntry())!=null) {
  
       System.out.println("readfile"+ze.getName());
  
       int c=0;
  
       while((c=zin.read())&gt;0) {
         System.out.write(c);
       }
   }
   zin.close();
  </code></pre>
  
  <p>There are 3 text files in the <code>testzip.zip</code>. That is, the right output should be the three file names and their contents.  However, my output are 3 file names and 2 of their contents. Why only 2 contents, rather than 3?</p>