Android Kotlin 文件读写操作扩展函数,Raw资源读取,Assets资源读取
1、保存内容到文件及文件读取
/*** 保存信息到File* @param fileName 文件名* @param content 保存内容* @param mode 模式*/
fun Context.saveIntoFile(fileName: String,content: String,mode: Int = Context.MODE_PRIVATE
): Boolean {return try {openFileOutput(fileName, mode).use {it.write(content.toByteArray())true}} catch (e: Exception) {false}
}
/*** 读取文件* @param fileName 文件名*/
fun Context.readFromFile(fileName: String): String {val sb = StringBuilder()openFileInput(fileName).use {val temp = ByteArray(1024)var len = 0while (true) {len = it.read(temp)if (len <= 0) breaksb.append(String(temp, 0, len))}}return sb.toString()
}
在Activity中使用
//保存
saveIntoFile(FILE_NAME, content)
//读取
val content = readFromFile(FILE_NAME)
2、保存内容到SD卡中的文件及SD卡文件读取
/*** 写文件到SD卡* eg:/storage/emulated/0/Android/data/com.guc.androiddemo/files/Documents/fileName* @param fileName 文件名* @param content 内容* @param type 文件类型* {@link android.os.Environment#DIRECTORY_MUSIC},* {@link android.os.Environment#DIRECTORY_PODCASTS},* {@link android.os.Environment#DIRECTORY_RINGTONES},* {@link android.os.Environment#DIRECTORY_ALARMS},* {@link android.os.Environment#DIRECTORY_NOTIFICATIONS},* {@link android.os.Environment#DIRECTORY_PICTURES}, or* {@link android.os.Environment#DIRECTORY_MOVIES}.*/
fun Context.saveFileToSD(fileName: String,content: String,type: String = Environment.DIRECTORY_DOCUMENTS
) {if (Environment.getExternalStorageState() == Environment.MEDIA_MOUNTED) {val fn = getExternalFilesDir(type)?.canonicalPath + "/" + fileNameFileOutputStream(fn).use {it.write(content.toByteArray())}} else {throw Exception("没有存储卡")}
}/*** 读取SD中文件* eg:/storage/emulated/0/Android/data/com.guc.androiddemo/files/Documents/fileName* @param fileName 文件名* @param type 文件类型-Documents*/
fun Context.readFromSD(fileName: String,type: String = Environment.DIRECTORY_DOCUMENTS
): String {return if (Environment.getExternalStorageState() == Environment.MEDIA_MOUNTED) {val sb = StringBuilder()val fn = getExternalFilesDir(type)?.canonicalPath + "/" + fileNameFileInputStream(fn).use {val temp = ByteArray(1024)var len = 0while (true) {len = it.read(temp)if (len <= 0) breaksb.append(String(temp, 0, len))}}sb.toString()} else {throw Exception("没有存储卡")}
}
Activity中使用
//保存
saveFileToSD(FILE_NAME, content)
//读取
val content = readFromSD(FILE_NAME)
3、读取Raw文件
/*** 读取Raw文件中的内容* @param rawId Raw文件ID:R.id.info*/
fun Context.readRaw(rawId: Int): String {return BufferedReader(InputStreamReader(resources.openRawResource(rawId))).use {val sb = StringBuilder()it.forEachLine { s ->sb.append(s)}sb.toString()}
}
4、读取Assets文件
/*** 读取Raw文件中的内容* @param rawId Raw文件ID:R.id.info*/
fun Context.readRaw(rawId: Int): String {return BufferedReader(InputStreamReader(resources.openRawResource(rawId))).use {val sb = StringBuilder()it.forEachLine { s ->sb.append(s)}sb.toString()}
}
Android Kotlin 文件读写操作扩展函数,Raw资源读取,Assets资源读取相关推荐
- Android sdcard文件读写操作
这次演示以,安卓原生操作系统 Nexus_6手机进行操作: AndroidManifest.xml配置相关权限: <!-- 增加权限 --><uses-permission andr ...
- Android文件读写操作(assets 文件、 raw文件、内部存储文件、外部存储文件)
Android中的文件读写操作是不可或缺的,每个应用都会涉及到读写操作.这里将读写操作分成了四个部分 assets文件夹中文件数据的读取 raw文件夹中的文件数据的读取 Android内部存储文件的读 ...
- 【转】Android - 文件读写操作 总结
Android - 文件读写操作 总结 原文出处:http://blog.csdn.net/ztp800201/article/details/7322110 在android中的文件放在不同位置,它 ...
- Android中的文件读写操作
在android开发中文件操作使用的其实还是比较高频的,之前我遇到这种需求都随便写写,对此没有一个比较全面的认识,所以想借这篇文章来梳理一遍. 由于需要读写文件,这包含了读写外部sd card的文件, ...
- android文件读写操作布局文件代码,android实现文件读写功能
本文实例为大家分享了android实现文件读写功能的具体代码,供大家参考,具体内容如下 读取: public static String _getJsonString(String fileName) ...
- java大文件读写操作
转载自:http://blog.csdn.net/akon_vm/article/details/7429245 RandomAccessFile RandomAccessFile是用来访问那些保存数 ...
- C++ builder 的文件读写操作总结
C++ builder 的文件读写操作总结 在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是: 1.基于 ...
- linux gcc编译下的文件读写操作
linux下的文件操作 所有目录 1.文件及文件系统的定义 2.linux文件的类型 3.linux文件的权限 ...
- C/C++ 文件读写操作总结
C/C++ 文件读写操作总结 在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是: 1.基于C的文件操作: ...
最新文章
- 获取线程结束代码(Exit Code)
- 零基础Java学习之接口
- 0603贴片电阻阻值对照表_怎样读贴片电阻阻值
- keepalived安装实录
- Android开发之TextView的滚动显示
- 【STMT】等价类划分法
- win7更新错误代码80072efe怎么解决?
- Scratch打气球游戏 电子学会图形化编程scratch等级考试三级真题答案2019-9
- 家庭收支记账软件 (GO语言实现)
- 《亲爱的热爱的》:CTF黑客在线恋爱
- 【笔记】Oracle删除项目编号多余的数据
- java模拟简单的银行账户,可用于存取款,查询业务操作
- JavaScript 制作百度输入预测功能
- Paddle2.0实现中文新闻文本标题分类
- 4个方法:Excel筛选重复项
- Microsoft Teams Voice语音落地系列-4 实战:Teams语音路由规划与配置
- Android RIL代码详细分析
- C++ iostream库源码
- 奥运菜单不再有可笑的英文译名
- 轨迹聚类光谱分析_光谱聚类