将文件下载到内部存储

时间:2014-04-16 11:21:48

标签: android file runtime internal-storage

我的申请遇到了一些问题。

我想下载文件,然后将它们保存到我的应用程序可绘制文件夹中,但由于这不是一个选项,因为应用程序是只读的,我想将下载的文件保存到内部存储中,以便只有我的应用程序可以访问它们。
如果我无法直接将文件下载到内部存储器,我可以从downloads文件夹中读取然后将其保存到内部存储器吗?

无论哪种方式,我都有下载方法,我只需知道保存下载文件的位置以及如何在运行时访问它并将其持久存储在内部存储中。

2 个答案:

答案 0 :(得分:1)

试试看

_context.getFiresDir();

_context.getExternalFilesDir();

答案 1 :(得分:-1)

/ **  *将私有原始资源内容复制到公开可读的内容  *文件,以便后者可以与其他应用程序共享。  * /

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 */
        }
    }
}