Android文件存储读写
16lz
2021-01-24
Android文件的存储方式
Android在以前的时候大多都是可以插内存卡的,那时候就是8G的手机插一个64G的内存卡,手机就是内存存储,内存卡就是外部存储
而后来的手机虽然表面上没有外部存储了,但是在Android系统中,仍然是有这样区分的,我们可以通过AS的DeviceFileExploree来查看有什么区别
1)内部存储
内部存储.png在DeviceFileExploree上查看的文件路径为/data/data+你应用的包名
查看内部存储路径的代码为
//内部存储根目录 val environment = Environment.getDataDirectory().absolutePath //应用内部存储包名下的file文件夹 val filePath = filesDir.absolutePath //应用内部存储包名下的cache文件夹 val cache = cacheDir.absolutePath //在应用内部存储包下创建文件夹,什么都不写默认创建app_文件夹 val path = getDir("", Context.MODE_PRIVATE) Log.d(tag, "environment:$environment") Log.d(tag, "filePath:$filePath") Log.d(tag, "cache:$cache") Log.d(tag, "path:$path")
内部存储打印.png输出结果
输出结果并不是一开始说的data/data,而是/data/user/0/,因为data/user/0/才是真实的路径,不过因为设备没有root,AS无法查看真实的路径,如果我们使用雷电模拟器(具备root)就可以查看到真实路径
不过对于我们的使用并没有影响
2)外部存储
外部存储.png文件路径为sdcard/Android/data/+包名
查看外部存储路径的代码为
//外部存储根目录 val environment = Environment.getExternalStorageDirectory().absolutePath //应用外部存储包名下的file文件夹 val filePath = getExternalFilesDir(null).absolutePath //应用外部存储包名下的cache文件夹 val cache = externalCacheDir.absolutePath Log.d(tag, "environment:$environment") Log.d(tag, "filePath:$filePath") Log.d(tag, "cache:$cache")
外部存储打印.png输出结果
Android文件存储读写
1)kotlin进行文本读写
kotlin在外部存储中写文本文件,这种方式是覆盖形式的读写
val filePath = getExternalFilesDir(null).absolutePath+File.separator+"a.txt"File(filePath).writeText("Hello")//覆盖原先的文本内容//File(filePath).writeText("Hello")//在原先的文本内容上追加
查看内容.png在AS Device中查看
在外部存储中读取文本代码
val filePath = getExternalFilesDir(null).absolutePath+ File.separator+"a.txt"//读取文件的文本内容val content = File(filePath).readText()
读取文本输出.png输出
2)Java进行文本读写
算了,Java太麻烦了,以后不想用了...
更多相关文章
- AndroidStudio修改虚拟机AVD路径
- Android安装常见的一些解决方法
- Android(安卓)Resources Overview —— Android(安卓)资源文件
- Android写SD卡的坑
- Android(安卓)APK文件拆解方法
- android 在线预览pdf文件(目前最全)
- android NDK学习篇4之two-libs——使用(单个动态库)来生成动态库
- Android(安卓)项目中文件夹作用(res文件夹详细介绍)
- andorid - NDK 编译mips-platform代码