读取资源文件夹中的JSON或文本文件

时间:2018-06-29 00:43:29

标签: android file-io kotlin

我正在开发Kotlin应用程序。 我正在尝试读取存储在资源文件夹(res / raw / file.txt)中的文本和JSON文件。 看着应用程序结构的层次结构,我为文件阅读器放置了绝对路径(../../ res / raw / file.txt)。

很不幸,我的应用找不到文件。

您能告诉我如何读取存储在res / raw中的文件吗?如果我将文件存储在错误的目录中,您能否告诉我该存储在哪里以及如何访问它们?

谢谢

1 个答案:

答案 0 :(得分:6)

如果您想从res/raw文件夹中读取文件,可以通过InputStream id获得R.raw.yourfile,如下所示:

resources.openRawResource(R.raw.yourfile)

或者您可以通过Uri打开文件:

val uri = Uri.parse("android.resource://com.example.your_package/raw/yourfile")
val file = File(uri.getPath());

您也可以将文件放在assets/文件夹中,并像这样获得InputStream

assets.open("yourfile.txt")