数据分隔区通常关联到一个到数个隔离存储区,成为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();
}
}
}
运行效果: