如何获取MAUI项目Raw文件夹中文件的绝对路径?
获取MAUI项目Raw文件夹内文件的绝对路径
先配置文件属性
- 找到Resources/Raw目录下的目标文件,右键选择「属性」
- 将生成操作设置为
MauiAsset - 将复制到输出目录设置为
如果较新则复制
跨平台获取绝对路径代码
MAUI的应用包目录通常是只读的,且不同平台路径结构不同,建议将Raw文件复制到应用可读写的数据目录后再获取绝对路径,代码示例:
using System.IO; using Microsoft.Maui.Storage; async Task<string> GetRawFileAbsolutePath(string fileName) { // 拼接可读写目录的文件路径 string targetPath = Path.Combine(FileSystem.AppDataDirectory, fileName); // 如果文件还没复制到可读写目录,执行复制 if (!File.Exists(targetPath)) { using var packageStream = await FileSystem.OpenAppPackageFileAsync(fileName); using var outputStream = File.OpenWrite(targetPath); await packageStream.CopyToAsync(outputStream); } return targetPath; } // 调用示例:获取example.txt的绝对路径 string filePath = await GetRawFileAbsolutePath("example.txt");
说明
FileSystem.AppDataDirectory会自动返回当前平台下应用专属的可读写数据目录,跨平台通用,迁移或安装到其他系统时无需修改代码。- 若仅需读取文件内容,无需绝对路径,可直接通过
FileSystem.OpenAppPackageFileAsync打开文件流操作,避免复制步骤。
内容的提问来源于stack exchange,提问作者Mohammad
相关产品推荐
相关产品推荐

