今天没事写了个Demo打印了下Android文件目录的资料,以备后用。demo设备:Android P

9bfe9ea5e8b2

context获取文件操作目录

打印日志如下:

cacheDir==/data/user/0/com.julian.androidfiledemo/cache

dataDir==/data/user/0/com.julian.androidfiledemo

filesDir==/data/user/0/com.julian.androidfiledemo/files

obbDir==/storage/emulated/0/Android/obb/com.julian.androidfiledemo

codeCacheDir==/data/user/0/com.julian.androidfiledemo/code_cache

externalCacheDir==/storage/emulated/0/Android/data/com.julian.androidfiledemo/cache

externalCacheDirs==[/storage/emulated/0/Android/data/com.julian.androidfiledemo/cache,

/storage/3F5D-1700/Android/data/com.julian.androidfiledemo/cache]

externalFilesDir==/storage/emulated/0/Android/data/com.julian.androidfiledemo/files/Pictures

9bfe9ea5e8b2

Environment获取文件操作目录

dataDirectory==/data

downloadCacheDirectory==/data/cache

externalStorageState==mounted

rootDirectory==/system

externalStorageDirectory==/storage/emulated/0

externalStoragePublicDirectory==/storage/emulated/0/Music

可以看到,context获取的目录一般为当前应用程序下的目录,Environment获取的目录一般是公共目录。

9bfe9ea5e8b2

另外,getExternalCacheDirs()可以获取到SD卡的目录,而且亲测可以直接写入文件,在Android p上不用弹出上面的对话框申请sd卡操作权限。

9bfe9ea5e8b2

文件夹File

canonicalFile==/data/data/com.julian.androidfiledemo/files

canonicalPath==/data/data/com.julian.androidfiledemo/files

freeSpace==1794158592

usableSpace==1583755264

totalSpace==9462403072

absoluteFile==/data/user/0/com.julian.androidfiledemo/files

absolutePath==/data/user/0/com.julian.androidfiledemo/files

name==files

path==/data/user/0/com.julian.androidfiledemo/files

myFile==/data/user/0/com.julian.androidfiledemo/files/book.txt

9bfe9ea5e8b2

文件File

canonicalFile==/data/data/com.julian.androidfiledemo/files/book.txt

canonicalPath==/data/data/com.julian.androidfiledemo/files/book.txt

filesDir==/data/user/0/com.julian.androidfiledemo/files

myfile==/data/user/0/com.julian.androidfiledemo/files/book.txt

absoluteFile==/data/user/0/com.julian.androidfiledemo/files/book.txt

absolutePath==/data/user/0/com.julian.androidfiledemo/files/book.txt

name==book.txt

path==/data/user/0/com.julian.androidfiledemo/files/book.txt

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐