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

Han*_*ang 1 file-io android kotlin

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

不幸的是,我的应用无法找到该文件.

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

谢谢

mol*_*mol 6

如果你想从res/raw文件夹中读取文件,可以InputStream通过R.raw.yourfileid 获取如下:

resources.openRawResource(R.raw.yourfile)
Run Code Online (Sandbox Code Playgroud)

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

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

另外,您可以将文件放在assets/文件夹中,InputStream如下所示:

assets.open("yourfile.txt")
Run Code Online (Sandbox Code Playgroud)