用inputstream已经读到了数据库文件而且大小也与实际相符但是当用inputstream的时候会报IO异常,代码如下if(!(new File(path).exists()))
      {
     InputStream is=this.context.getResources().openRawResource(R.raw.pb_product);
FileOutputStream fos=new FileOutputStream(path);
while(BUFFER_SIZE==0)
{
BUFFER_SIZE=is.available();
}
byte[] buffer=new byte[BUFFER_SIZE];
int count=0;
while((count=is.read(buffer,0,BUFFER_SIZE))>-1)
{
fos.write(buffer);
}
fos.close();
is.close();
路径都没有错误

解决方案 »

  1.   

    08-06 04:51:31.238: WARN/System.err(757): java.io.IOException
    08-06 04:51:31.296: WARN/System.err(757):     at android.content.res.AssetManager.readAsset(Native Method)
    08-06 04:51:31.348: WARN/System.err(757):     at android.content.res.AssetManager.access$700(AssetManager.java:36)
    08-06 04:51:31.366: WARN/System.err(757):     at android.content.res.AssetManager$AssetInputStream.read(AssetManager.java:574)
    08-06 04:51:31.366: WARN/System.err(757):     at com.GoodsQuery.Service.DBManager.openDatabase(DBManager.java:49)
    08-06 04:51:31.387: WARN/System.err(757):     at com.GoodsQuery.Service.DBManager.openDatabase(DBManager.java:59)
    08-06 04:51:31.396: WARN/System.err(757):     at com.GoodsQuery.Service.DBManager.openDatabase(DBManager.java:34)
    08-06 04:51:31.407: WARN/System.err(757):     at com.GoodsQuery.Activity.GoodsQueryActivity.onCreate(GoodsQueryActivity.java:25)
    08-06 04:51:31.416: WARN/System.err(757):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    08-06 04:51:31.427: WARN/System.err(757):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    08-06 04:51:31.446: WARN/System.err(757):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    08-06 04:51:31.456: WARN/System.err(757):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    08-06 04:51:31.479: WARN/System.err(757):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    08-06 04:51:31.486: WARN/System.err(757):     at android.os.Handler.dispatchMessage(Handler.java:99)
    08-06 04:51:31.497: WARN/System.err(757):     at android.os.Looper.loop(Looper.java:123)
    08-06 04:51:31.506: WARN/System.err(757):     at android.app.ActivityThread.main(ActivityThread.java:4627)
    08-06 04:51:31.518: WARN/System.err(757):     at java.lang.reflect.Method.invokeNative(Native Method)
    08-06 04:51:31.537: WARN/System.err(757):     at java.lang.reflect.Method.invoke(Method.java:521)
    08-06 04:51:31.546: WARN/System.err(757):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    08-06 04:51:31.557: WARN/System.err(757):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    08-06 04:51:31.557: WARN/System.err(757):     at dalvik.system.NativeStart.main(Native Method)
    08-06 04:51:32.366: WARN/ActivityManager(59): Activity idle timeout for HistoryRecord{44f47fe8 com.GoodsQuery.Activity/.GoodsQueryActivity}
      

  2.   

    6M太大了 Assets文件夹有1MB大小的限制的 要么分割成小文件。另一种把后缀改成.mp3试试
      

  3.   

    写上访问权限,,
    android.permission.WRITE_EXTERNAL_STORAGE