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的文件操作: ...
最新文章
- 蓝桥杯国赛-大胖子走迷宫
- php大牛额城战笔记,PHP语言大牛开发笔记(8)——MySQL数据库基础回顾[2]
- C++友元函数和友元类(三)
- [PHP] 现代化PHP之路:composer的镜像站设置
- 引用类型String的操作
- [POJ1463] Strategic game
- 物理借助传感器用计算机测速度,用打点计时器测速度教案_物理_教学设计_人教版...
- 数据库中字段随机添加汉字
- 【PHP学习】—PHP连接数据库实现表单页面的验证功能(七)
- 万亿安防市场前景可期 未来四大发展趋势分析
- vs应用程序无法正常启动
- 计算机类中英附录,欧盟gmp附录11-计算机系统(中英文对照)-20210410004737.docx-原创力文档...
- 优矿python开源_PythonStock(8):使用优矿web学习python入门
- Scala中名词的解释
- ftp上传工具,八款最佳的ftp上传下载工具,支持中文(ftp客户端分享)
- 2011年09月04日
- C 宏定义实现字符大小写转换
- K-Means聚类及调用sklearn库代码实现
- AutoSar CAN网络管理状态机理解
- 35岁的程序员:第16章,双重担忧