1. 程式人生 > >Xamarin Essentials教程獲取路徑檔案系統FileSystem

Xamarin Essentials教程獲取路徑檔案系統FileSystem

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屬性,會返回應用程式目錄。該目錄會被備份到雲。