2011-09-29 302 views
2

我開發的應用程序從互聯網上收集一些數據。然後將其保存到臨時文件夾。要構建這個應用程序,我需要創建和訪問一個文件夾(僅用於應用程序的目的,而不是用戶)。我該怎麼做?Android如何使用和創建臨時文件夾

回答

4

這段代碼是創建文件夾:

File direct = new File(Environment.getExternalStorageDirectory() + "/New Folder"); 

    if(!direct.exists()) 
    { 
     (direct.mkdir()) //directory is created; 

    } 

嘗試,它可以幫助你

0
File mFile; 

的onCreate()

mFile= new File(Environment.getExternalStorageDirectory()+"/temp/"; 

mFile.mkdir();

onDestroy();

mFile.delete(); 
+0

沒有保證onDestroy會被調用。 http://developer.android.com/reference/android/app/Activity.html#onDestroy() –

1

嘗試這個...

private void makeFolder(){ 

File root = new File(Environment.getExternalStorageDirectory() 
     + File.separator + getString(R.string.folder_name)); 
    boolean mainfolderexist = root.exists(); 
     if (!mainfolderexist) { 
      try { 
       if (Environment.getExternalStorageDirectory().canWrite()) { 
        root.mkdirs(); 
       } 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
} 

一切順利

0

你應該重新盟友檢查這個其他SO回答:https://stackoverflow.com/a/6485850/65716

除了一個事實,即你必須完全管理的空間的使用等,對外部存儲高速緩存需要爲您的應用程序更多的權限。

http://developer.android.com/reference/android/content/Context.html#getCacheDir()

「應用程序不需要額外的權限讀取或寫入到返回的路徑,因爲此路徑住在自己的私有存儲。」

+0

這是創建臨時文件。與這裏所要求的不盡相同...... –

+0

@YuchenZhong相反,因爲問題中提到「然後將其保存到臨時文件夾」和「僅用於應用程序的目的,而不是用戶」將驅動器你到一個緩存文件。接受的答案充滿了許多陷阱和潛在的空間匱乏的錯誤。 –

相關問題