2014-04-16 53 views
0

我在應用程序中遇到了一些麻煩。將文件下載到內部存儲器

我想下載的文件,然後把它們保存到我的應用程序繪製文件夾,但因爲這是不是一種選擇,因爲應用程序是隻讀的,我要下載的文件保存到內部存儲,這樣只有我的應用程序可以訪問他們。
如果我無法直接將文件下載到內部存儲器,我可以從下載文件夾讀取數據,然後將其保存到內部存儲器中嗎?無論哪種方式,我有下載方法,我只需要知道在哪裏保存下載的文件,以及如何在運行時訪問它,並持久地將其存儲在內部存儲中。

+0

添加代碼,請和你正在尋找的一部分! –

回答

1

嘗試在看看

_context.getFiresDir(); 

_context.getExternalFilesDir(); 
-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 */ 
     } 
    } 
} 
+1

你不明白,我只希望我的應用能夠訪問文件,而不是用戶,而不是其他應用。 – Pavle37

+0

@ Pavle37你可以檢查我的答案! – Abdellah

+0

R.raw.robot是什麼?這是否是您在存儲數據的原始文件夾中創建的文件?而我的下載文件位於Environment.DIRECTORY_DOWNLOAD,我認爲outputStream不會讀取它,如果我只是輸入名稱...我的文件也是圖像和聲音。 – Pavle37

相關問題