title: Unable to extract obb file downloaded from google play application
body: <p>I implmeneted apk expansion successfully.And obb file downloaded at Android->Obb->PackageName->com.1.com.packagename.obb</p>
  
  <p>But when i go to extract i am getting issue.Eof file exception
  in log Unzip exception2.</p>
  
  <p>Exception:-
  java.io.FileNotFoundException: /storage/sdcard0/.MyApp/BGP050@2x.jpg: open failed: ENOENT (No such file or directory)</p>
  
  <p>Please reply if anyone have idea thanks in advance.... </p>
  
  <h2>Function From calling to extract file</h2>
  
  <pre><code>public void extract()
  {
  
              String packageName = getApplicationContext().getPackageName();
  
              File root = Environment.getExternalStorageDirectory();
              File expPath = new File(root.toString() + "/Android/obb/" + packageName);
  
              if (expPath.exists()) {
                  String strMainPath = null;
                  try {
                      strMainPath = expPath + File.separator + "main."
                          + getPackageManager().getPackageInfo(
                                      getPackageName(), 0).versionCode + "."
                              + packageName + ".obb";
  
  
                  Log.e("Extract File path", "===&gt;"+strMainPath);
  
                  File f=new File(strMainPath);
                  if(f.exists()){
                      Log.e("Extract From File path", "===&gt; not exist");
                  }
                  else
                  {
                      Log.e("Extract From File path", "===&gt; exist");
                  }
  
                  flag = extractZip(strMainPath,Environment.getExternalStorageDirectory()+"/"+Constant.FOLDERNAME);
  
                  Log.e("After Extract Zip", "===&gt;"+flag);
                  } catch (NameNotFoundException e) {
                      // TODO Auto-generated catch block
                      e.printStackTrace();
                  }
  
              }
  
  }
  </code></pre>
  
  <h2>Function is below</h2>
  
  <pre><code>private boolean extractZip(String pathOfZip,String pathToExtract)
   {
  
  
          int BUFFER_SIZE = 1024;
          int size;
          byte[] buffer = new byte[BUFFER_SIZE];
  
  
          try {
              File f = new File(pathToExtract);
              if(!f.isDirectory()) {
                  f.mkdirs();
              }
              ZipInputStream zin = new ZipInputStream(new BufferedInputStream(new FileInputStream(pathOfZip), BUFFER_SIZE));
              try {
                  ZipEntry ze = null;
                  while ((ze = zin.getNextEntry()) != null) {
                      String path = pathToExtract  +"/"+ ze.getName();
  
                      if (ze.isDirectory()) {
                          File unzipFile = new File(path);
                          if(!unzipFile.isDirectory()) {
                              unzipFile.mkdirs();
                          }
                      }
                      else {
                          FileOutputStream out = new FileOutputStream(path, false);
                          BufferedOutputStream fout = new BufferedOutputStream(out, BUFFER_SIZE);
                          try {
                              while ( (size = zin.read(buffer, 0, BUFFER_SIZE)) != -1 ) {
                                  fout.write(buffer, 0, size);
                              }
  
                              zin.closeEntry();
                          }catch (Exception e) {
                              Log.e("Exception", "Unzip exception 1:" + e.toString());
                          }
                          finally {
                              fout.flush();
                              fout.close();
                          }
                      }
                  }
              }catch (Exception e) {
                  Log.e("Exception", "Unzip exception2 :" + e.toString());
              }
              finally {
                  zin.close();
              }
              return true;
          }
          catch (Exception e) {
              Log.e("Exception", "Unzip exception :" + e.toString());
          }
          return false;
  
      }
  </code></pre>