从输入流写入android中的文件?

时间:2011-10-28 20:26:07

标签: android

我得到一个输入流,这是我的原始文件夹中的一个mp3,然后我想把它写回原始文件夹(我知道这听起来很愚蠢,但我想这样做),但是我得到一个错误 - 找不到文件,myFile.mp3。我出错的任何想法?

try
        {
          File f=new File("android.resource//com.apps/raw/myFile.mp3");
          InputStream myRawResource = context.getActivity().getResources().openRawResource(mp3ID); 
          OutputStream out=new FileOutputStream(f);
          byte buf[]=new byte[1024];
          int len;
          while((len=myRawResource.read(buf))>0)
          out.write(buf,0,len);
          out.close();
          myRawResource.close();
    }
          catch (IOException e){    
              //error
              }

2 个答案:

答案 0 :(得分:0)

你不能在android中编写raw和assets文件夹。

修改

Android documentation

我复制了关键短语(文档提示): 如果要在编译时在应用程序中保存静态文件,请将该文件保存在项目res / raw /目录中。你可以用openRawResource()打开它,传递R.raw。资源ID。此方法返回一个可用于读取文件的InputStream(但您无法写入原始文件)。

答案 1 :(得分:-1)

这是无法做到的,因为资源在运行时是只读的,存储在APK中,并且需要在编译时进行编译以包含在R中。