无法访问Kotlin中的txt文件

lqfhib0f  于 2023-02-13  发布在  Kotlin
关注(0)|答案(1)|浏览(175)

我尝试将文本文件保存到应用程序的内部存储,但它不起作用
代码为

val defFileName = "text.def"
    val ioFile = File(defFileName)
ioFile.createnewFile()
        ioFile.writeText("Hello World")

我尝试了不同的代码版本来实现它,但每次我得到

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
                            at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
                        Caused by: java.lang.reflect.InvocationTargetException
                            at java.lang.reflect.Method.invoke(Native Method)
                            at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) 
                        Caused by: java.io.FileNotFoundException: hello_file: open failed: EROFS (Read-only file system)

只读文件系统
有人帮忙吗?

q8l4jmvw

q8l4jmvw1#

从这代码提供你是尝试到创建一个文件并且写入到它.作为提到的注解变量defFileName wont提供有效路径
因此您需要将代码修改为类似于以下内容

val defFileName = "text.def"
    val ioFile = File(context.getExternalFilesDir(
        Environment.DIRECTORY_DOCUMENTS),
        "name.txt")
    ioFile.writeText("hello")

相关问题