从安卓系统读取文件 内部存储

问题描述 投票:0回答:1

我已经把一个文件放在了 my Tablet\Tablet\Android\data\my.app.package\files\data 叫做 test.txt 与几行文字。这是由Windows报告的。

Kotlin正在抛出一个异常(FileNotFound),我也试着指定了我认为是文件的真实路径,但似乎无法使用下面的路径得到它。

"/0/Android/data/my.app.package/files/data/test.txt" (我的应用程序的数据目录)。这个目录肯定是存在的,因为我可以在设备文件管理中看到它。

这个文件包含2行文本,我试图根据它们的值读入这些文本来运行特定的任务。我试过用BufferedReader,但是我得到了FileNotFound Exception......。

这是我的代码。

fun readFile() {
    val yourFilePath = "/0/Android/data/my.app.package/files/data/test.txt"
    val yourFile = File(yourFilePath)

    print(yourFile.name)
    val file = File(yourFilePath)
    file.bufferedReader().forEachLine {
        println("value = $it")
    }

}

任何帮助都是非常感激的 谢谢你的帮助

android kotlin bufferedreader filenotfoundexception
1个回答
2
投票
  1. filesDir 因为指向内部存储文件目录
  2. use 当你想自动关闭流时,可以用block来处理。
  3. try-catch 块来处理任何IO异常,例如FileNotFoundException。
try {
    val file = File(filesDir, "test.txt")
    if (file.exists()) {
        file.bufferedReader().useLines {
            ...
        }
    }
} catch (e: IOException) {
    ...
}

很好的文章,可以深入了解一下。Medium

通过查看你的内部存储空间来确保你的文件存在。

AndroidStudio -> View -> Tools Windows -> Android Device Explorer

© www.soinside.com 2019 - 2024. All rights reserved.