kotlin读取sd卡里的文件_Kotlin Android读写外部存储

本文概述

Android外部存储空间是我们执行读写操作的存储空间。外部存储器中的文件存储在/ sdcard或/ storage文件夹等中。保存在外部存储器中的文件是可读的, 并且可由用户修改。

在访问应用程序外部存储中的文件之前, 我们应检查设备中外部存储的可用性。

写入外部存储中的文件

java.io包提供openFileOutput()方法, 该方法返回FileOutputStream类的实例, 以将文件写入设备的外部存储中。通过调用getExternalFilesDir()获取仅由你的应用程序使用的目录。要将数据写入文件, 请调用FileOutputStream .write()方法。

var myExternalFile:File = File(getExternalFilesDir(filepath), fileName)

try {

val fileOutPutStream = FileOutputStream(myExternalFile)

fileOutPutStream.write(fileContent.toByteArray())

fileOutPutStream.close()

} catch (e: IOException) {

e.printStackTrace()

}

从外部存储读取文件内容

java.io包提供了openFileInput()方法, 该方法返回FileInputStream类的实例, 并从设备的外部存储读取文件。要从文件读取数据, 请调用BufferedReader()。readLine()。

var myExternalFile:File = File(getExternalFilesDir(filepath), fileName)

val filename = fileName.text.toString()

myExternalFile = File(getExternalFilesDir(filepath), filename)

var fileInputStream =FileInputStream(myExternalFile)

var inputStreamReader: InputStreamReader = InputStreamReader(fileInputStream)

val bufferedReader: BufferedReader = BufferedReader(inputStreamReader)

val stringBuilder: StringBuilder = StringBuilder()

var text: String? = null

while ({ text = bufferedReader.readLine(); text }() != null) {

stringBuilder.append(text)

}

fileInputStream.close()

外部存储访问权限

在AndroidManifest.xml文件中添加以下权限。

Kotlin Android读写外部存储示例

在此示例中, 我们将数据写入外部存储设备中的文件, 并从同一外部存储设备读取相同的文件内容。

activity_main.xml

在activity_main.xml文件中添加以下代码。在此文件中, 为输入文件名, 文件内容添加两个EditText, 并为保存和查看文件内容添加两个Button。

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:c

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值