1.常用文件路径
-
内部存储空间
/data/data/**package**/
不需要申请权限;
包含您的应用存储在内部存储空间中的数据文件。 -
外部存储空间
/sdcard/
要读取或写入外部存储上的文件,您的应用必须获取 READ_EXTERNAL_STORAGE 或 WRITE_EXTERNAL_STORAGE 系统权限;
包含存储在外部用户存储空间中的用户文件(例如图片等)
2.SDK提供方法
方法 | 对应路径 | 描述 |
---|---|---|
Environment.getDataDirectory() | /data | |
Environment.getDownloadCacheDirectory(); | /data/cache | |
Environment.getExternalStorageDirectory(); | /storage/emulated/0 | |
Environment.getRootDirectory(); | /system | |
Context.getCacheDir(); | /data/[user/0 | data]/**package**/cache | |
Context.getFilesDir(); | /data/[user/0 | data]/**package**/files | |
Context.getDataDir(); | /data/[user/0 | data]/**package** | |
Context.getNoBackupFilesDir(); | /data[user/0 | data]/**package**/no_backup | |
Context.getObbDir(); | /storage/emulated/0/Android/obb/**package** | |
Context.getExternalCacheDir(); | /storage/emulated/0/Android/data/**package**/cache | |
Context.getFilesDir() | 获取在其中存储内部文件的文件系统目录的绝对路径。 | |
Context.getDir() | 在您的内部存储空间内创建(或打开现有的)目录。 | |
Context.deleteFile() | 删除保存在内部存储的文件。 | |
Context.fileList() | 返回您的应用当前保存的一系列文件。 | |
Context.openFileInput(fileName); | /data/[user/0 | data]/**package**/files | 从/data/[user/0 | data]/*package*/files 文件夹下传参的文件名读文件 |
Context.openFileOutput(fileName, MODE_PRIVATE); | /data/[user/0 | data]/*package*/files | 向/data/[user/0 | data]/*package*/files 文件夹下传参的文件名写文件 |
注: **package**
为包名;[user/0 | data]
根据版本和设备显示有所不同
3.Android Studio中查看文件
as(v3.2)中有个Device File Explorer的文件管理器
- 点击 View > Tool Windows > Device File Explorer 或工具窗口栏中的 Device File Explorer 按钮以打开设备文件浏览器。
- 从下拉列表中选择设备。
- 在文件浏览器窗口中与设备内容交互 右键点击文件或目录以创建新文件或目录,将选定文件或目录保存到您的机器中,上传、删除或同步。 双击文件,将其在 Android Studio 中打开。
注:并不是硬件设备上的所有文件在设备文件浏览器中都是可见的。例如,在 data/data/ 目录中,与设备上的不可调试应用对应的条目就无法在设备文件浏览器中展开。
4.参考文献
https://developer.android.google.cn/guide/topics/data/data-storage
https://developer.android.google.cn/studio/debug/device-file-explorer