首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >getExternalFilesDir和getExternalStorageDirectory()之间的区别

getExternalFilesDir和getExternalStorageDirectory()之间的区别
EN

Stack Overflow用户
提问于 2012-04-12 20:42:38
回答 4查看 103.6K关注 0票数 100

我知道ExternalFiles是在API8和更高版本上使用的,而getExternalStorageDirectory是在7和更低版本上使用的。然而,我对它的使用有点困惑。例如,我想检查一个存在的文件夹,在此之前,您将使用以下内容:

File ChildFolder = new File(Environment.getExternalStorageDirectory() + "/ParentFolder/Child");

然而,我看到的每个示例都说明要使用getExternalFilesDir (null)、File.ext。因为我在API 8之上,所以我想使用这个方法,但是我怎么才能检查文件夹呢?我将在另一时刻检查文件是否存在,但现在只想查看文件夹是否存在??

EN

回答 4

Stack Overflow用户

发布于 2012-04-12 20:57:57

getExternalFilesDir()

它返回您的SD卡上Android/data/data/your_package/文件文件夹的路径。它用于存储应用程序所需的任何文件(例如,从web下载的图像或缓存文件)。卸载应用程序后,此文件夹中存储的所有数据也将消失。

getExternalStorageDirectory()

它会返回SD卡的根路径(例如mnt/sdcard/)。如果你在此路径上保存数据并卸载应用程序,则该数据不会丢失。

票数 146
EN

Stack Overflow用户

发布于 2015-04-02 11:18:50

首先,我们需要了解内部存储、外部存储(也称为主外部存储)和辅助外部存储-之间的区别

内部存储:是用户无法访问的存储,除非通过已安装的应用程序(或通过引导其设备)。示例: data/data/app_packageName

USB主外部存储:内置共享存储,“用户可以通过插入USB线并将其作为驱动器安装在主机上访问”。例如:当我们说Nexus 5 32 GB时。

辅助外部存储:可移动存储。示例:SD卡。

getExternalFilesDir (String type)

它返回主外部存储上Android/data/data/your_package/内的文件文件夹的路径。这是内置存储。

Environment.getExternalStorageDirectory()

它将返回辅助外部存储目录的路径

票数 90
EN

Stack Overflow用户

发布于 2015-03-03 18:08:47

!重要的更新!对于遇到这个问题的人,请使用

因为这是一个有点老的问题,所以只想提供一些额外的信息。由于KitKat即使是具有WRITE_EXTERNAL_STORAGE权限的应用程序也只允许写入外部存储上的,也称为 getExternalFilesDir()

如果您将尝试写入getExternalStorageDirectory() + "/somefolder/anotherfolder/",您将在大多数设备上获得SecurityException

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10123812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档