将文件下载到内部存储 [重复]

Posted

技术标签:

【中文标题】将文件下载到内部存储 [重复]【英文标题】:Download Files To Internal Storage [duplicate] 【发布时间】:2014-05-31 05:44:30 【问题描述】:

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

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

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

【问题讨论】:

请添加您的代码和您要查找的部分! 【参考方案1】:

试试看

_context.getFilesDir();

_context.getExternalFilesDir();

【讨论】:

【参考方案2】:

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

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

【讨论】:

你不明白,我只希望我的应用程序可以访问文件,而不是用户而不是其他应用程序。 @Pavle37 你能检查我的答案吗! 什么是 R.raw.robot?这是您在存储数据的原始文件夹中创建的文件吗?我下载的文件位于 Environment.DIRECTORY_DOWNLOAD 中,我认为如果我只是输入名称,则 outputStream 不会读取它......而且我的文件是图像和声音。 这与提出的问题完全没有关系。 @ChrisStratton 标记为删除

以上是关于将文件下载到内部存储 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将文件从内部存储复制到Android中的外部存储

将文件复制到 Cordova 的内部存储中

我们可以使用雪花中的存储过程将文件从文件位置加载到命名内部阶段吗?

将文本文件保存到 Android 中的公共内部存储器位置

将 json 文件保存到内部存储器,然后稍后调用该文件

将字符串保存到内部存储上的特定文件夹 - Android