我尝试了许多不同的方法来加载android studio中的模型文件,甚至是简单的文本文件。我已经把它放在assets文件夹中,但无法从中读取,因为我的类不是活动类。我试着把文件和类放在一起,然后直接阅读,但没有成功。最近我试着从res/raw文件夹中读取它(raw是创建的),但我的应用程序仍然找不到该文件。这是我从堆栈上的另一个答案中得到的最新尝试,但没有成功,因为它仍然找不到模型。
String file = "res/raw/filteredsvmmodel2.model";
InputStream in this.getClass().getClassLoader().getResourceAsStream(file);
我被这个问题卡住了,任何方法、导入、库或任何其他可以解决读取简单文件问题的方法都会有所帮助。
我已经把它放在assets文件夹中,但无法从中读取,因为我的类不是活动类。
将Context
传递给类(例如,在其构造函数中)。使用什么Context
在一定程度上取决于您在哪里创建此类的实例,以及您打算保留这些实例多长时间。您可以使用触发类实例创建的Context
(例如,Activity
、Service
)。或者,您可以对其中一个调用getApplicationContext()
,然后将该Context
传递给您的构造函数。
最近我试着从res/raw文件夹中读取它(raw是创建的),但我的应用程序仍然找不到该文件。
资源是开发机器上的文件。它们不是设备上的文件。您可以通过对Resources
对象调用openRawResource()
来读取原始资源。您可以通过在Context
上调用getResources()
来获得其中一个。