我想在Kotlin函数运行时读取文件,我要读取的文件存储在 在
projectname/app/credentials.json
,我想阅读 credentials.json
。
类似的情况是 firebase 如何读取其凭证文件
google-services.json
PS:我不想将文件放入资产中,因为我已经想到了资产方法
文件 google-services.json 无法从应用程序内直接读取。
由于google services gradle 插件,Firebase 能够访问文件中的值。该插件在构建时读取文件,并在运行时使用资源将其找到的值注入到您的应用程序中。来自链接的文档: google-services 插件有两个主要功能:
处理 google-services.json 文件并生成可在应用程序代码中使用的 Android 资源。您可以通过此链接找到答案
如果您想自己读取该文件,则需要执行类似的操作 - 编写一个查找该文件的 gradle 插件,然后以可读的方式(例如资源或资产)将其添加到您的应用程序中。否则无法读取。
https://stackoverflow.com/a/62878278/21735165
import java.io.File
fun readCredentials(): String? {
val filePath = "app/credentials.json"
val file = File(filePath)
return if (file.exists()) {
file.readText()
} else {
null
}
}
fun main() {
val credentials = readCredentials()
println(credentials)
}
根据您的项目结构将 filePath 变量调整为正确的相对路径。此代码将读取“credentials.json”的内容并将其作为字符串返回,如果该文件不存在,它将返回空值。
您应该使用 Context openFileInput 方法,该方法可以获取应用程序路径的文件。
val file:FileInputStream = context.openFileInput("credentials.json")