android读取文件内容
学习Android开发 (Learning Android Development)
If you search on how can Android read a text file, you can find several solutions on Stackoverflow. However, they all need context
to read the file either from res
or asset
folder.
如果您搜索Android如何读取文本文件,则可以在Stackoverflow上找到几种解决方案。 但是,它们都需要context
来从res
或asset
文件夹中读取文件。
// file store in /assets
val inputStream = context.assets.open("test.txt")// or file store in /res/raw
val inputStream = context.resources.openRawResource(R.raw.test)
In unit testing, we will like to avoid using context
. With that, how can we read from a file?
在单元测试中,我们将避免使用context
。 这样,我们如何读取文件?
E.g. will be useful for doing Mock Web Service test as below
例如,对于进行如下所示的Mock Web Service测试将非常有用
Java classLoader来解救 (Java classLoader came to rescue)
Apparently we can read a file using classLoader
显然我们可以使用classLoader
读取文件
val inputStream = javaClass.classLoader?.getResourceAsStream(fileName)
With this, we can read the file from the resources
folder, without needing any Context.
这样,我们可以从resources
文件夹中读取文件,而无需任何上下文。