[C#.NET][VB.NET] 讀 / 寫 隔離儲存區 IsolatedStorage

[C#.NET][VB.NET] 讀 / 寫 隔離儲存區 IsolatedStorage

為什麼要使用隔離儲存區IsolatedStorage?有什麼好處?

1.將檔案資訊儲存在安全的地方。

2.不受使用者對檔案或資料夾存取權限限制。

 

專案需引用下列命名空間

System.IO
System.IO.IsolatedStorage

如何寫隔離儲存區

1.引用IsolatedStorageFile類別

//為目前使用者建立一個隔離區
IsolatedStorageFile userStorage = IsolatedStorageFile.GetUserStoreForAssembly();
2.建立IsolatedStorageFileStream隔離區檔案
//為目前使用者建立一個檔案
IsolatedStorageFileStream myStorage = new IsolatedStorageFileStream("Profile", FileMode.Create, userStorage);

 

3.寫資料至隔離區檔案

//寫資料至隔離檔
StreamWriter userWriter = new StreamWriter(myStorage);
userWriter.WriteLine("這是寫入隔離區檔案的小範例");
userWriter.WriteLine("比起MSDN寫的,應該更容易懂才對");

 

4.釋放資源

//釋放資源
userWriter.Dispose();
userStorage.Dispose();

 

 

如何讀隔離儲存區檔案

1.引用IsolatedStorageFile類別

//為目前使用者建立一個隔離區
IsolatedStorageFile userStorage = IsolatedStorageFile.GetUserStoreForAssembly();

2.判斷檔案是否存在

//判斷檔案是否存在
string[] files = userStorage.GetFileNames("Profile");
if (files.Length == 0)
{
       Console.WriteLine("找不到檔案");
}

 

 

3.讀取隔離區的檔案

//讀取隔離區的檔案
IsolatedStorageFileStream myStorage = new IsolatedStorageFileStream("Profile", FileMode.Open, userStorage);
StreamReader userReader = new StreamReader(myStorage);
string contents = userReader.ReadToEnd();
Console.WriteLine(contents);

 

4.釋放資源

//釋放資源
userReader.Dispose();
userStorage.Dispose();

 

如何刪除離儲存區檔案

1.引用IsolatedStorageFile類別

2.判斷檔案是否存在

3.刪除檔案

4.釋放資源

        private void button3_Click(object sender, EventArgs e)
        {
            //為目前使用者建立一個隔離區
            IsolatedStorageFile userStorage = IsolatedStorageFile.GetUserStoreForAssembly();
            //判斷檔案是否存在
            string[] files = userStorage.GetFileNames("Profile");
            if (files.Length == 0)
            {
                Console.WriteLine("找不到檔案");
            }
            else
            {
                //刪除隔離區的檔案
                userStorage.DeleteFile("Profile");
                //釋放資源
                userStorage.Dispose();
            }
        }

 

附件包含VB與C#

範例下載:隔離儲存區.rar

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo