.NET MAUI安卓端如何获取MauiAsset文件路径?
.NET MAUI安卓端获取MauiAsset文件的正确方式
设置为MauiAsset的文件在安卓平台会被嵌入到APK的assets目录中,并非存放在AppDomain.CurrentDomain.BaseDirectory指向的文件系统路径下,因此无法通过System.IO.File类直接访问。
正确的做法是使用以下方式读取文件内容:
跨平台通用方案(推荐)
使用.NET MAUI提供的FileSystem.OpenAppPackageFileAsync方法,无需编写平台特定代码,全平台通用:
// 打开嵌入式文件流 using var stream = await FileSystem.OpenAppPackageFileAsync("MyFolder/myfile.txt"); using var reader = new StreamReader(stream); // 按行读取文件内容 var lines = await reader.ReadAllLinesAsync();
安卓平台特定方案
如果需要在安卓项目中使用原生API读取:
var assetManager = Android.App.Application.Context.Assets; using var stream = assetManager.Open("MyFolder/myfile.txt"); using var reader = new StreamReader(stream); var lines = await reader.ReadAllLinesAsync();
注意事项
- 文件路径使用相对路径,以项目根目录为起点,例如
MyFolder/myfile.txt - 路径统一使用斜杠
/作为分隔符,保证跨平台兼容性
内容的提问来源于stack exchange,提问作者nimitz
相关产品推荐
相关产品推荐

