Xamarin Essentials教程获取路径文件系统FileSystem
文件系统用于管理设备内的各类文件。通过文件系统,应用程序可以创建永久文件和临时文件,也可以获取预先打包的文件,如预设数据库文件。Xamarin.Essentials的静态类FileSystem提供访问文件系统的部分功能,如获取应用程序目录、缓存数据目录等。本节将讲解该类的使用。
获取路径
在数据读写中,常用的应用程序目录有两个,分别为缓存目录和数据目录。缓存目录用来保存缓存数据。相对临时数据,缓存数据具有更长的生命周期,但不能被当前操作所使用。数据目录用来存储应用程序自身数据,非用户数据文件。这些文件会被设备自带备份功能进行备份。
在FileSystem类中,开发者可以使用CacheDirectory属性来获取应用程序缓存目录,其语法形式如下:
public static string CacheDirectory { get; }
FileSystem类的AppDataDirectory属性可以用来获取应用程序的数据目录,其语法形式如下:
public static string AppDataDirectory { get; }
【示例1-2】下面获取应用程序的缓存目录和数据目录。代码如下:
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进行备份。
UWP:使用CacheDirectory属性,返回应用程序本地缓存目录。使用AppDataDirectory属性,会返回应用程序目录。该目录会被备份到云。