數據分隔區通常關聯到一個到數個隔離存儲區,成爲store,其中包含了數據真正的存儲的文件目錄位置,類IsolatedStorageFile提供了一些方法讓你可以返回特定的或是創建特定的store。
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.IO.IsolatedStorage;
namespace CA_InputOutput
{
class StorageMaintain
{
public static void Main(string[] args)
{
// IsolatedStorageFile類提供靜態方法GetStore()用來創建與應用程序相關的Isolated Storage
// 此方法接受3個參數 第1個參數 指定這個文件相關的應用範圍(Isolated storeage scoped)
// 第2個參數 指定所屬的Domain,null表示目前的應用程序定義域
// 第3個參數 當前應用程序組件,null表示當前應用程序組件
IsolatedStorageFile myIsoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null);
// 創建存儲數據文件
IsolatedStorageFileStream isFile1 = new IsolatedStorageFileStream("isFile1.bin", FileMode.Create, myIsoStore);
IsolatedStorageFileStream isFile2 = new IsolatedStorageFileStream("isFile2.txt", FileMode.Create, myIsoStore);
IsolatedStorageFileStream isFile3 = new IsolatedStorageFileStream("isFile3.txt", FileMode.Create, myIsoStore);
// 在指定的隔離區內創建目錄
myIsoStore.CreateDirectory("ISDRoot");
myIsoStore.CreateDirectory("ISDRoot2");
myIsoStore.CreateDirectory("ISDRoot/subISDRoot");
myIsoStore.CreateDirectory("ISDRootSenond");
IsolatedStorageFileStream isFile4 = new IsolatedStorageFileStream("ISDRoot/rootFile1.txt", FileMode.Create, myIsoStore);
IsolatedStorageFileStream isFile5 = new IsolatedStorageFileStream("ISDRoot/subISDRoot/rootFile2.txt", FileMode.Create, myIsoStore);
IsolatedStorageFileStream isFile6 = new IsolatedStorageFileStream("ISDRoot/subISDRoot/rootFile3.txt", FileMode.Create, myIsoStore);
IsolatedStorageFileStream isFile7 = new IsolatedStorageFileStream("ISDRootSenond/rootFile4.txt", FileMode.Create, myIsoStore);
isFile1.Close(); isFile2.Close(); isFile3.Close(); isFile4.Close(); isFile5.Close(); isFile6.Close(); isFile7.Close();
myIsoStore.Close();
myIsoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null);
Console.WriteLine("列出根目錄下擴展名爲bin的文件");
foreach(string strFileName in myIsoStore.GetFileNames("*.bin"))
{
Console.WriteLine(strFileName);
}
Console.WriteLine("----------------------------------------------------------------------");
Console.WriteLine("列出根目錄下擴展名爲txt的文件");
foreach (string strFileName in myIsoStore.GetFileNames("*.txt"))
{
Console.WriteLine(strFileName);
}
Console.WriteLine("----------------------------------------------------------------------");
Console.WriteLine("列出根目錄所有相關文件");
foreach (string strFileName in myIsoStore.GetFileNames("*"))
{
Console.WriteLine(strFileName);
}
Console.WriteLine("----------------------------------------------------------------------");
foreach(string strDirectory in myIsoStore.GetDirectoryNames("*"))
{
Console.WriteLine(strDirectory);
foreach (string strFileName in myIsoStore.GetFileNames(strDirectory + "/*"))
{
Console.WriteLine(" " + strFileName);
}
foreach (string sDirectory in myIsoStore.GetDirectoryNames(strDirectory + "/*"))
{
Console.WriteLine(strDirectory + "/" + sDirectory);
foreach(string filename in myIsoStore.GetFileNames(strDirectory+"/"+sDirectory+"/*"))
{
Console.WriteLine(" " + filename);
}
}
}
// 刪除根目錄下的文件
myIsoStore.DeleteFile("isFile1.bin");
// 刪除目錄
myIsoStore.DeleteDirectory("ISDRoot2");
myIsoStore.Close();
Console.ReadLine();
}
}
}
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.IO.IsolatedStorage;
namespace CA_InputOutput
{
class StorageMaintain
{
public static void Main(string[] args)
{
// IsolatedStorageFile類提供靜態方法GetStore()用來創建與應用程序相關的Isolated Storage
// 此方法接受3個參數 第1個參數 指定這個文件相關的應用範圍(Isolated storeage scoped)
// 第2個參數 指定所屬的Domain,null表示目前的應用程序定義域
// 第3個參數 當前應用程序組件,null表示當前應用程序組件
IsolatedStorageFile myIsoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null);
// 創建存儲數據文件
IsolatedStorageFileStream isFile1 = new IsolatedStorageFileStream("isFile1.bin", FileMode.Create, myIsoStore);
IsolatedStorageFileStream isFile2 = new IsolatedStorageFileStream("isFile2.txt", FileMode.Create, myIsoStore);
IsolatedStorageFileStream isFile3 = new IsolatedStorageFileStream("isFile3.txt", FileMode.Create, myIsoStore);
// 在指定的隔離區內創建目錄
myIsoStore.CreateDirectory("ISDRoot");
myIsoStore.CreateDirectory("ISDRoot2");
myIsoStore.CreateDirectory("ISDRoot/subISDRoot");
myIsoStore.CreateDirectory("ISDRootSenond");
IsolatedStorageFileStream isFile4 = new IsolatedStorageFileStream("ISDRoot/rootFile1.txt", FileMode.Create, myIsoStore);
IsolatedStorageFileStream isFile5 = new IsolatedStorageFileStream("ISDRoot/subISDRoot/rootFile2.txt", FileMode.Create, myIsoStore);
IsolatedStorageFileStream isFile6 = new IsolatedStorageFileStream("ISDRoot/subISDRoot/rootFile3.txt", FileMode.Create, myIsoStore);
IsolatedStorageFileStream isFile7 = new IsolatedStorageFileStream("ISDRootSenond/rootFile4.txt", FileMode.Create, myIsoStore);
isFile1.Close(); isFile2.Close(); isFile3.Close(); isFile4.Close(); isFile5.Close(); isFile6.Close(); isFile7.Close();
myIsoStore.Close();
myIsoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null);
Console.WriteLine("列出根目錄下擴展名爲bin的文件");
foreach(string strFileName in myIsoStore.GetFileNames("*.bin"))
{
Console.WriteLine(strFileName);
}
Console.WriteLine("----------------------------------------------------------------------");
Console.WriteLine("列出根目錄下擴展名爲txt的文件");
foreach (string strFileName in myIsoStore.GetFileNames("*.txt"))
{
Console.WriteLine(strFileName);
}
Console.WriteLine("----------------------------------------------------------------------");
Console.WriteLine("列出根目錄所有相關文件");
foreach (string strFileName in myIsoStore.GetFileNames("*"))
{
Console.WriteLine(strFileName);
}
Console.WriteLine("----------------------------------------------------------------------");
foreach(string strDirectory in myIsoStore.GetDirectoryNames("*"))
{
Console.WriteLine(strDirectory);
foreach (string strFileName in myIsoStore.GetFileNames(strDirectory + "/*"))
{
Console.WriteLine(" " + strFileName);
}
foreach (string sDirectory in myIsoStore.GetDirectoryNames(strDirectory + "/*"))
{
Console.WriteLine(strDirectory + "/" + sDirectory);
foreach(string filename in myIsoStore.GetFileNames(strDirectory+"/"+sDirectory+"/*"))
{
Console.WriteLine(" " + filename);
}
}
}
// 刪除根目錄下的文件
myIsoStore.DeleteFile("isFile1.bin");
// 刪除目錄
myIsoStore.DeleteDirectory("ISDRoot2");
myIsoStore.Close();
Console.ReadLine();
}
}
}
運行效果: