2011-09-29 62 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相反,因为问题中提到“然后将其保存到临时文件夹”和“仅用于应用程序的目的,而不是用户”将驱动器你到一个缓存文件。接受的答案充满了许多陷阱和潜在的空间匮乏的错误。 –

相关问题