提问人:tycoon 提问时间:7/24/2022 更新时间:7/24/2022 访问量:330
如何从资产中获取File对象?
How to get File object from assets?
问:
我的 assets 文件夹中有一个 markdown 文件。我正在使用一个 markdown 查看器,它将 Object 作为参数来解析屏幕上的文件。java.io.File
但是我不知道如何从assets文件夹中的文件中获取文件对象。 有没有办法做到这一点。我尝试了URI方式,但失败了。
这是我的代码片段,可能会有所帮助
val markDown = File("file:///asset/GalacticAstronomy.md")
if (markDown.exists()) {
Toast.makeText(baseContext, "File exist", Toast.LENGTH_SHORT).show()
} else Toast
.makeText(baseContext, "File doesn't exist", Toast.LENGTH_SHORT).show()
setContent {
MaterialTheme {
MarkDown(
file = markDown,
modifier = Modifier.fillMaxSize()
)
}
}
我没有尝试读取文件,因此使用assets.open(“file”)
是行不通的
答:
2赞
CommonsWare
7/24/2022
#1
但是我不知道如何从assets文件夹中的文件中获取文件对象
这是不可能的,因为它不是文件。
我没有尝试读取文件,因此使用assets.open(“file”)是行不通的
你别无选择。也:
- 使用更好的 Markdown 库,该库接受 或
InputStream
- 自行将资源复制到文件中(例如,在 中 ),然后将生成的文件与现有库一起使用
getCacheDir()
assets.open()
评论