【发布时间】:2011-09-29 05:22:29
【问题描述】:
我开发了一个从互联网收集一些数据的应用程序。然后将其保存到临时文件夹。要构建这个应用程序,我需要创建和访问一个文件夹(只是为了应用程序的目的,而不是为了用户)。我该怎么做?
【问题讨论】:
标签: android android-emulator directory
我开发了一个从互联网收集一些数据的应用程序。然后将其保存到临时文件夹。要构建这个应用程序,我需要创建和访问一个文件夹(只是为了应用程序的目的,而不是为了用户)。我该怎么做?
【问题讨论】:
标签: android android-emulator directory
此代码用于创建文件夹:
File direct = new File(Environment.getExternalStorageDirectory() + "/New Folder");
if(!direct.exists())
{
(direct.mkdir()) //directory is created;
}
试试吧
【讨论】:
File mFile;
onCreate()
mFile= new File(Environment.getExternalStorageDirectory()+"/temp/";
mFile.mkdir();
onDestroy();
mFile.delete();
【讨论】:
试试这个...
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();
}
}
}
一切顺利
【讨论】:
你真的应该检查这个其他 SO 答案:https://stackoverflow.com/a/6485850/65716
除了您必须完全管理您对空间的使用等这一事实之外,在外部存储上进行缓存还需要您的应用获得更多权限。
见http://developer.android.com/reference/android/content/Context.html#getCacheDir()
“应用程序不需要额外的权限来读取或写入返回的路径,因为该路径存在于它们的私有存储中。”
【讨论】:
仅供应用使用,如果文件仅供我们的应用使用并且不希望文件浏览器对用户可见,我建议使用Context.getDir() 检索目录。
// No need to check if exist, created automatically.
File tempRoot = context.getDir("temp", Context.MODE_PRIVATE);
// do something
【讨论】:
/data/user/0/package_name/app_temp/。要创建文件,new File(tempRoot, "fileName").createNewFile();