C# Windows Phone 8 WP8 開發,自製簡易Isolate Storage 文字檔案讀寫類別(Class)

  • 1591
  • 0
  • C#
  • 2015-06-10

一般我們在開發Windows Phone 很常會使用Isolate Storage 來協儲存APP資料,可是Isolate Storage 的寫法打在主程式裡面實在有點佔位又礙眼,使用方式對於新手開發者來說也有點不熟悉,那們常痛不如短痛,我們就來寫個檔案讀寫的Isolate Storage的Helper類別吧!!

本篇文章將引襖您開發簡易的Isolate Storage 文字檔案讀寫類別(Class)。

一般我們在開發Windows Phone 很常會使用Isolate Storage 來協儲存APP資料,可是Isolate Storage 的寫法打在主程式裡面實在有點佔位又礙眼,使用方式對於新手開發者來說也有點不熟悉,那們常痛不如短痛,我們就來寫個檔案讀寫的Isolate Storage的Helper類別吧!!

 

本篇文章將引襖您開發簡易的Isolate Storage 文字檔案讀寫類別(Class)。

 

首先新增自定義類別:

 

    public  class IsolateStorageHelper
    {
    private static IsolatedStorageFile isolatedStorage;
    private static void initial(){
        if (isolatedStorage == null)
        {
            isolatedStorage = IsolatedStorageFile.GetUserStoreForApplication();
        }
    }
    //檢查檔案是否存在
    public static bool isExist(string fileName)
    {
        initial();
        if (isolatedStorage.FileExists(fileName))
        {
            return true;
        }
        else {
            return false;
        }
    }
    //刪除檔案
    public static void DeleteFile(string filePath)
    {
        initial();
        isolatedStorage.DeleteFile(filePath);
    }
    //寫入檔案
    public static void WriteFile(string fileName, string content)
    {
        initial();
        if (isolatedStorage.FileExists(fileName))
        {
            using (IsolatedStorageFileStream isoStream = new IsolatedStorageFileStream(fileName, FileMode.Truncate, isolatedStorage))
            {
                using (StreamWriter writer = new StreamWriter(isoStream))
                {
                    writer.WriteLine(content);
                    Debug.WriteLine("You have written to the " + fileName);
                }
            }
        }
        else {
            using (IsolatedStorageFileStream isoStream = new IsolatedStorageFileStream(fileName, FileMode.CreateNew, isolatedStorage))
            {
                using (StreamWriter writer = new StreamWriter(isoStream))
                {
                    writer.WriteLine(content);
                    Debug.WriteLine("You have written to the " + fileName);
                }
            }
        }
           
    }
 
    //讀取文字檔案
    public static string ReadFile(string fileName)
    {
        initial();
        if (isolatedStorage.FileExists(fileName))
        {
            Console.WriteLine("The file already exists!");
            using (IsolatedStorageFileStream isoStream = new IsolatedStorageFileStream(fileName, FileMode.Open, isolatedStorage))
            {
                using (StreamReader reader = new StreamReader(isoStream))
                {
                    Debug.WriteLine("Reading contents:");
                    //Debug.WriteLine(reader.ReadToEnd());
                    return reader.ReadToEnd();
                }
            }
        }
        else {
            return null;
        }
    }
 
    }

 

使用方法:

 

   1:  string FileName = "myfile";
   2:  string content="今天天氣真好";
   3:  //檢查檔案是否存在
   4:  bool isFileExist = IsolateStorageHelper.isExist(FileName); //存在為True不存在為False
   5:  IsolateStorageHelper.DeleteFile(FileName);///刪除檔案
   6:  IsolateStorageHelper.WriteFile(FileName,content)//寫入檔案
   7:  string result=IsolateStorageHelper.ReadFile(FileName);//讀取文字檔案 若檔案不存在為null

 

如此一來我們便學會了自製簡易Isolate Storage 文字檔案讀寫類別(class)囉!

 

References : How to: Read and Write to Files in Isolated Storage

 

文章中的敘述如有觀念不正確錯誤的部分,歡迎告知指正 謝謝
轉載請註明出處,並且附上本篇文章網址 !  感謝。

SUKI

HOLIESTAR