Xamarin Essentials教程獲取路徑檔案系統FileSystem
阿新 • • 發佈:2018-11-16
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屬性,會返回應用程式目錄。該目錄會被備份到雲。