我尝试了许多不同的方法来加载模型文件,甚至在 android studio 中加载简单的文本文件。我已将其放入资产文件夹中,但无法从中读取,因为我的类不是活动类。我尝试将文件与类放在一起并直接读取它,但这不起作用。最近,我尝试从 res/raw 文件夹中读取它(创建了 raw。),但我的应用程序仍然找不到该文件。这是我从堆栈上的另一个答案中得到的最新尝试,该答案尚未起作用,因为它仍然找不到模型。
String file = "res/raw/filteredsvmmodel2.model";
InputStream in this.getClass().getClassLoader().getResourceAsStream(file);
我陷入了这个问题,任何可以解决读取简单文件问题的方法、导入、库或其他任何东西都会有所帮助。
我已将其放入资产文件夹中,但无法从中读取,因为我的课程不是活动课程。
将
Context
传递给您的类(例如,在其构造函数中)。您使用什么Context
取决于您在何处创建此类实例以及您打算保留这些实例多长时间。您可以使用 Context
触发类实例的创建(例如,Activity
、Service
)。或者,您可以对其中之一调用 getApplicationContext()
,然后将 Context
传递给您的构造函数。
最近我尝试从 res/raw 文件夹中读取它(创建了 raw。),但我的应用程序仍然找不到该文件。
资源是开发计算机上的文件。它们不是设备上的文件。您可以通过在
openRawResource()
对象上调用 Resources
来读取原始资源。您可以通过拨打 getResources()
上的 Context
获得其中之一。
@Brock 你能解决这个问题吗?我面临着类似的问题。我有一个来自 weka 的 .model 文件,我想将它与我的 android studio 集成。你能帮我吗?我正在使用 Kotlin 构建我的应用程序。