title: Copying from asset folder to SD card
body: <p>I am not sure what is wrong with this code? It creates a file in SD card but with 0 byte..
  Can one of you look into it and tell me whats wrong with this?</p>
  
  <p>Here i am trying to copy a file from asset folder which is codes.db to sd card.. </p>
  
  <pre><code>    AssetManager assetManager = getResources().getAssets();
      InputStream in = null;
  
      OutputStream out = null;
      BufferedInputStream buf = null;
      try {
          in = assetManager.open("codes.db");
  
      } catch (IOException e) {
          // TODO Auto-generated catch block
          System.out.println("Error jh: " + e.getMessage());
      }
      if (in != null) {
          try {
              out = new FileOutputStream("/sdcard/" + "codes.db");
          } catch (FileNotFoundException e) {
              // TODO Auto-generated catch block
              System.out.println("Error Line : " + e.getLocalizedMessage());
          }
      }
  
      System.out.println("IN VALUE : " + in);
      System.out.println("OUT VALUE : " + out);
  
  
      int chunkBytes = 0;
      byte[] outputByte = new byte[1024];
  
      if (in != null &amp;&amp; out != null) {
          try {
  
              // while ((chunkBytes = in.read(outputByte, 0, 1024)) != -1) {
              while ((chunkBytes = in.read()) != -1) {
                  // write contents to the file
                  System.out.println("I m here");
                  // out.write(outputByte, 0, (int) chunkBytes);
                  out.write(chunkBytes);
                  // publish the progress of downloading..
              }
          } catch (Exception e) {
              // TODO Auto-generated catch block
              System.out.println("Error here: "
                      + e.getLocalizedMessage().toString());
          }
      }
  
      try {
          in.close();
          out.close();
      } catch (IOException e) {
          // TODO Auto-generated catch block
          System.out.println("Error there: " + e.getLocalizedMessage());
      }
  
  }
  </code></pre>
  
  <p>I am getting this error in all the case.. i am sure i have my permission set... codes.db in sd card is 0 byte... :(</p>
  
  <pre><code>05-24 09:59:34.221: W/System.err(5559): java.io.IOException
  05-24 09:59:34.221: W/System.err(5559):     at android.content.res.AssetManager.readAsset(Native Method)
  05-24 09:59:34.221: W/System.err(5559):     at android.content.res.AssetManager.access$700(AssetManager.java:36)
  05-24 09:59:34.221: W/System.err(5559):     at android.content.res.AssetManager$AssetInputStream.read(AssetManager.java:571)
  05-24 09:59:34.221: W/System.err(5559):     at com.bewo.copy.TestCopyActivity.copyStream(TestCopyActivity.java:136)
  05-24 09:59:34.221: W/System.err(5559):     at com.bewo.copy.TestCopyActivity.onCreate(TestCopyActivity.java:19)
  05-24 09:59:34.221: W/System.err(5559):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
  05-24 09:59:34.221: W/System.err(5559):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2635)
  05-24 09:59:34.221: W/System.err(5559):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2687)
  05-24 09:59:34.221: W/System.err(5559):     at android.app.ActivityThread.access$2300(ActivityThread.java:127)
  05-24 09:59:34.221: W/System.err(5559):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2035)
  05-24 09:59:34.221: W/System.err(5559):     at android.os.Handler.dispatchMessage(Handler.java:99)
  05-24 09:59:34.221: W/System.err(5559):     at android.os.Looper.loop(Looper.java:123)
  05-24 09:59:34.221: W/System.err(5559):     at android.app.ActivityThread.main(ActivityThread.java:4635)
  05-24 09:59:34.221: W/System.err(5559):     at java.lang.reflect.Method.invokeNative(Native Method)
  05-24 09:59:34.221: W/System.err(5559):     at java.lang.reflect.Method.invoke(Method.java:521)
  05-24 09:59:34.221: W/System.err(5559):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
  05-24 09:59:34.221: W/System.err(5559):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
  05-24 09:59:34.221: W/System.err(5559):     at dalvik.system.NativeStart.main(Native
  </code></pre>