您好,登錄后才能下訂單哦!
獨立存儲
獨立存儲為托管代碼提供了一種對每個計算機、每個用戶、每個應用程序域在本地文件系統中分配一個獨有的存儲空間的機制。數據本身還是存儲在本地文件系統中的,但是其實際位置對于應用程序是透明的,應用程序只能夠訪問當前用戶在當前應用程序域的文件及文件夾。
1、 了解獨立存儲
獨立存儲:作為本地數據的基本存儲方式
每個應用程序將在獨立存儲中被分配一個獨立的存儲空間,成為應用程序數據存儲文件夾,即該應用的獨立存儲根目錄。應用程序可以調用獨立存儲API在該目錄下存儲數據。根據使用方式及功能的不同,獨立存儲空間又包含兩部分。
獨立文件存儲 |
|
獨立設置存儲 |
|
2、 獨立設置存儲
使用鍵值對集合的語法來進行操作。
常用于存儲應用程序設置之類的信息。其中主要涉及
System.IO.IsolatedStorage.IsolatedSettings類
(1)
(2)添加對獨立存儲API所在的命名空間的引用
using System.IO.IsolatedStorage; |
(3)創建操作獨立存儲必須的 IsolatedStorageSettings 類的對象
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings; |
(4)為四個按鈕添加ChangeSettings事件處理程序
private void ChangeSettings(object sender, RoutedEventArgs e) { string key = textBox1.Text.Trim(); string value = textBox2.Text; Button clickButton = sender as Button; switch(clickButton.Name) { case"button1": settings.Add(key,value); //添加 break; case"button2": settings[key] = value; /添加或修改 break; case "button3": settings.Remove(key); //移除指定鍵值對 break; case "button4": settings.Clear();//清除獨立設置存儲 break; } settings.Save(); ReadAllSettings(); } private void ReadAllSettings() { //throw new NotImplementedException(); string message = "顯示鍵值對:"; foreach(string key in settings.Keys) { message += string.Format("{0}={1}\n",key,settings[key].ToString()); } textBlock3.Text = message; } |
需要說明的是:
(1) 在所有的獨立存儲操作中,若key為空串,會拋出ArgumentNullException異常
(2) 在Add方法中,若key已存在,則添加失敗,會拋出ArgumentException異常
(3) 在setting[key]操作中,若key不存在,則相當于Add操作;若已存在,則覆蓋。
(4) 在Remove方法中,若正常刪除返回true;若key不存在刪除失敗,則返回false.
(5) Clear會清除當前應用程序設置的所有獨立存儲設置。
提示:在該例中存儲的數據為字符串,實際上鍵值對也可以存儲其他的數據類型,包括所有可序列化的對象。這就大大擴寬了獨立設置存儲的使用范圍,一種容易想到的用途就是將一些數據封裝為對象保存在獨立設置存儲中。
3、 獨立文件存儲
獨立文件存儲的操作與文件系統類似,可通過相應API進行文件、文件夾操作。其中主要涉及System.IO.IsolatedStorage.IsolatedStorageFile類。
操作過程為:
(1) 獲得IsolatedStorageFile對象
(2) 直接調用其相應方法進行文件或文件夾的基本操作,或進行文件讀寫操作。
文件及文件夾基本操作涉及的方法有:
目錄操作:
CreateDirectory |
DeleteDirectory |
MoveDirectory |
DirectoryExists |
GetDirectoryNames |
Remove |
文件操作:
CreateFile |
DeleteFile |
MoveFile |
CopyFile |
FileExitst |
GetFileNames |
OpenFile |
Remove |
文件讀寫操作過程:
(1) 用獲得的IsolatedStorageFile對象的OpenFile方法創建一個IsolatedStorageFileStream對象(或用IsolatedStorageFileStream的構造方法構造);
(2) 針對IsolatedStorageFileStream對象構造StreamWriter或StreamReader對象進行文件讀寫。
(3) 關閉流讀寫對象以釋放資源
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。