【发布时间】:2018-10-01 15:36:03
【问题描述】:
我正在尝试使用 Kotlin 和 Android Studio 将本地 JSON 文件导入 Android 应用程序,但该应用程序似乎找不到该文件。即使使用显式路径,JVM 似乎也无法获取文件。我试过制作一个 .txt 文件,但 JVM 也找不到。 Klaxon 的教程不起作用,因为 Parser 类已被弃用;无论如何这都没关系,因为那不是错误所在。是的,该文件存在于目录中,并且是这样拼写的。
fun parse(name: String) : Any? {
val inputStream: InputStream = File("C:\\Users\\Athena\\AndroidStudioProjects\\AD340HW1\\app\\zombie_movies.json").inputStream()
val lineList = mutableListOf<String>()
//val cls = Parser::class.java
//inputStream.bufferedReader().useLines { lines -> lines.forEach {lineList.add(it) } }
//val strArray = arrayOfNulls<String>(lineList.size)
return lineList
}
java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.athena.ad340hw1/com.example.athena.ad340hw1.ZombieMovies}:java.io.FileNotFoundException:C:\Users\Athena\AndroidStudioProjects\AD340HW1 \app\zombie_movies.json(没有这样的文件或目录)
【问题讨论】:
-
Android 应用程序在 Android 设备(真实或虚拟)上运行,而路径指的是 Windows 系统(可能是您使用的开发系统)。 Android 应用无法访问此内容。
-
这是有道理的。关于如何将数据导入应用程序的任何建议?我宁愿不硬编码 20 部僵尸电影及其描述。
-
如果只是一个修复文件(或多个),从这里开始:stackoverflow.com/questions/12037069/what-is-an-android-asset
-
老实说,rtfm。您知道如何向 Android 应用程序添加资源吗?有大量关于此的在线文档。
-
不回答的人倾向于这样做,因为他们不知道答案。我们为什么不一起阅读那些过时的文件?
标签: kotlin jvm filenotfoundexception runtimeexception klaxon