title: java decompress zipfile with unicode filenames
body: <p>How to decompress a zip file with unicode filename?
  This is my code:</p>
  
  <pre><code>try {
      ZipInputStream zis = new ZipInputStream(
              new FileInputStream(zipFile));
      ZipEntry ze = zis.getNextEntry();
  
      System.setProperty("file.encoding", "UTF-8");
      while (ze != null) {
          String fileName = new String(ze.getName().getBytes("UTF-8"));
          System.out.println(fileName);
          File newFile = new File(outputFolder + File.separator + fileName );
  
          BufferedOutputStream outStream = new BufferedOutputStream(new FileOutputStream(newFile));
          OutputStreamWriter osw = new OutputStreamWriter(outStream, Charset.forName("UTF-8"));
          int ch;
          StringBuffer buffer1 = new StringBuffer();
          while ((ch = zis.read()) &gt; -1) {
              buffer1.append((char) ch);
          }
          osw.write(buffer1.toString());
          osw.close();
          outStream.close();
  
          ze = zis.getNextEntry();
      }
  
      zis.closeEntry();
      zis.close();
  } catch (IOException ex) {
      ex.printStackTrace();
  }
  </code></pre>
  
  <p>but I receive the error: <code>UTFDataFormatException</code>:</p>
  
  <pre><code>06-05 08:46:33.394: W/System.err(777): java.io.UTFDataFormatException: bad second or third byte at 6 
  06-05 08:46:33.394: W/System.err(777): at java.nio.charset.ModifiedUtf8.decode(ModifiedUtf8.java:56) 
  06-05 08:46:33.426: W/System.err(777): at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:270) 
  06-05 08:46:33.426: W/System.err(777): at com.learnlang.utility.ZipManager.unZipIt(ZipManager.java:62) 
  06-05 08:46:33.434: W/System.err(777): at com.learnlang.HomeActivity$progressThread.run(HomeActivity.java:317) 
  </code></pre>
  
  <p>My class is <code>ZipManager</code>. </p>
  
  <p>How to resolve this problem?</p>