文件系統用於管理設備內的各種文件。經過文件系統,應用程序能夠建立永久文件和臨時文件,也能夠獲取預先打包的文件,如預設數據庫文件。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