我的应用程序出现了一些问题。
我想下载这些文件,然后将它们保存到我的应用程序可提取文件夹中,但由于应用程序是只读的,所以这不是一个选项,我想将下载的文件保存到内部存储中,这样只有我的应用才能访问它们
如果我不能直接将文件下载到内部存储器,我可以从下载文件夹中读取,然后将其保存到内部存储器吗?
无论哪种方式,我都有下载方法,我只需要知道在哪里保存下载的文件,以及如何在运行时访问它,并将其持久存储在内部存储中。
试着看看
_context.getFilesDir();
和
_context.getExternalFilesDir();
/***将私有原始资源内容复制到公共可读的*使得后者可以与其他应用程序共享。*/
private void copyPrivateRawResourceToPubliclyAccessibleFile() { InputStream inputStream = null; FileOutputStream outputStream = null; try { inputStream = getResources().openRawResource(R.raw.robot); outputStream = openFileOutput(SHARED_FILE_NAME, Context.MODE_WORLD_READABLE | Context.MODE_APPEND); byte[] buffer = new byte[1024]; int length = 0; try { while ((length = inputStream.read(buffer)) > 0){ outputStream.write(buffer, 0, length); } } catch (IOException ioe) { /* ignore */ } } catch (FileNotFoundException fnfe) { /* ignore */ } finally { try { inputStream.close(); } catch (IOException ioe) { /* ignore */ } try { outputStream.close(); } catch (IOException ioe) { /* ignore */ } } }