文件系统用于管理设备内的各种文件。经过文件系统,应用程序能够建立永久文件和临时文件,也能够获取预先打包的文件,如预设数据库文件。Xamarin.Essentials的静态类FileSystem提供访问文件系统的部分功能,如获取应用程序目录、缓存数据目录等。本节将讲解该类的使用。数据库
在数据读写中,经常使用的应用程序目录有两个,分别为缓存目录和数据目录。缓存目录用来保存缓存数据。相对临时数据,缓存数据具备更长的生命周期,但不能被当前操做所使用。数据目录用来存储应用程序自身数据,非用户数据文件。这些文件会被设备自带备份功能进行备份。缓存
在FileSystem类中,开发者能够使用CacheDirectory属性来获取应用程序缓存目录,其语法形式以下:spa
public static string CacheDirectory { get; }
FileSystem类的AppDataDirectory属性能够用来获取应用程序的数据目录,其语法形式以下:code
public static string AppDataDirectory { get; }
【示例1-2】下面获取应用程序的缓存目录和数据目录。代码以下:orm
void FileSystem_Directory() { //获取并输出缓存目录 var cacheDir = FileSystem.CacheDirectory; Console.WriteLine("CacheDirectory={0}", cacheDir); //获取并输出数据目录 var mainDir = FileSystem.AppDataDirectory; Console.WriteLine("AppDataDirectory={0}", mainDir); }
运行程序,会输出如下的内容。教程
CacheDirectory=/data/user/0/com.companyname.FileSystemFormsDemo/cache ppDataDirectory=/data/user/0/com.companyname.FileSystemFormsDemo/files
注意:因为平台的差别性,获取的目录也会有所不一样。生命周期
Android:使用CacheDirectory属性,返回CacheDir的绝对路径。使用AppDataDirectory属性,会返回FilesDir的绝对路径。从API 23开始,该目录会被Auto Backup进行备份。开发
iOS:使用CacheDirectory属性,返回库/缓存的目录。使用AppDataDirectory属性,会返回库目录。该目录会被iTunes和iCloud进行备份。get
UWP:使用CacheDirectory属性,返回应用程序本地缓存目录。使用AppDataDirectory属性,会返回应用程序目录。该目录会被备份到云。string