我的资源文件在哪里

时间:2013-04-20 12:21:31

标签: java android android-resources

我遇到了Android和存储选项(内部存储)的问题。

我在“raw”目录中添加了一个SSL证书,我想写入存储。

目前我正在尝试使用此代码段:

           InputStream is = SA.getResources().openRawResource(R.raw.myResource);
           ByteArrayOutputStream buffer = new ByteArrayOutputStream();

           int nRead;
           byte[] data = new byte[16384];

           while ((nRead = is.read(data, 0, data.length)) != -1) 
           {
             buffer.write(data, 0, nRead);
           }

           buffer.flush();

           FileOutputStream fos = SA.openFileOutput("Resource.crt", 0);
           fos.write(buffer.toByteArray());
           fos.close();
           is.close();
           buffer.close();
           File f = new File(this.fileList()[0]);
           if(f.exists())
           {
               Log.v("File:", "Found");
           }
           else
           {
               Log.v("File:", "Not found");
           }

找不到我的文件。我不知道为什么。

1 个答案:

答案 0 :(得分:1)

我相信fileList只是返回文件名,但您还需要目录try:

File f = new File(context.getFilesDir(), filename);
if(f.exists()){
    ...

请阅读:

http://developer.android.com/training/basics/data-storage/files.html#WriteInternalStorage