我正在研究Xamarin Essentials,想知道FileSystem的目的是什么。
我在寻找一个可以异步加载和保存文件的工具。
根据我的理解,它只提供了一个保存和加载文件的位置,没有实际保存文件的功能,例如“Old PCLStorage”。
这个理解正确吗?
我正在研究Xamarin Essentials,想知道FileSystem的目的是什么。
我在寻找一个可以异步加载和保存文件的工具。
根据我的理解,它只提供了一个保存和加载文件的位置,没有实际保存文件的功能,例如“Old PCLStorage”。
这个理解正确吗?
var cacheDir = FileSystem.CacheDirectory;
应用数据目录是存储常规文件的“默认”位置。
如文档所述:
任何非用户数据文件
顺便提一下:如果你正在实现/遵守平台相关的规范,这不是用于Sqlite数据库等的地方。为什么Essentials没有包含数据库位置是我不知道的,因为像iOS和Android这样的平台都有为它们编写API并正式记录位置的... ;-/
OpenAppPackageFileAsync
提供访问(通过Stream
)读取应用程序中捆绑的只读文件(AndroidAssets
, BundleResource
等)的方式。
using (var stream = await FileSystem.OpenAppPackageFileAsync("sushiLogo.png"))
{
using (var reader = new StreamReader(stream))
{
var fileContents = await reader.ReadToEndAsync();
}
}
文件可以被Xamarin Essentials正确读取
。Essentials不会将任何内容读写到缓存/应用程序数据位置,它只返回一个包含路径的字符串。你需要根据该路径创建/打开一个文件。而且,你不需要为此编写任何平台相关的代码,只需使用普通的(跨平台).Net框架代码即可。 - SushiHangover