【发布时间】:2021-12-11 06:54:00
【问题描述】:
我有一个二维对象数组,存储在 Android Studio 项目的 Assets 文件夹中的一个文件中。该文件被序列化并命名为“maindata.conv”
用 Java 读取文件是一件轻而易举的事:
static public Object[][] mainTable = null;
ObjectInputStream instream = new ObjectInputStream(getAssets().open("maindata.Conv"));
mainTable = (Object[][]) instream.readObject();
但是当我将代码翻译成Kotlin时,翻译后的代码不起作用:
val instream = ObjectInputStream(assets.open("maindata.Conv"))
MainActivity.mainTable = instream.readObject() as Array<Array<Any?>?>
“开放”一词被标记为“未解决”。我没有尝试导入作品。如何从 Assets 文件夹中读取 Kotlin 中的原始文件?请帮忙。
【问题讨论】:
-
尝试使用
assets. `open`而不是assets.open,因为open是 Kotlin 关键字。 -
在 Kotlin 中
assets只是getAssets()的简写,它是Context上的一个方法 - 所以如果你在Activity中调用它,它就可以工作。 Java 代码是相同的,所以您必须从 Kotlin 版本中的不同位置调用它?