您的位置:首页 > 其它

Windows Phone 隔离存储空间及文件操作

2013-05-20 19:48 218 查看

Windows Phone 7的隔离存储空间

1. 概念:

Windows Phone 7中所有的文件IO操作被限制在隔离存储空间里面,在隔离存储空间里面可以增加,删除和修改目录文件,在隔离存储空间里面可以存储程序的配置信息,但是每个应用程序的隔离存储空间都是独立的,相当于Windows Phone 的一块内存被单独划出来了,只有这一块的内部(应用程序本身)才可以访问其内部的信息,而外部(其他的应用程序)无法访问。

2. 目录操作

两个重要的类:

IsolatedStorageFile:用于操作隔离存储空间里面的目录以及文件,例如增,删,改,查等。

IsolatedStorageFileStream:用于读写操控隔离存储空间里面的文件流,例如当我们需要往某个文件写入东西的时候便会使用到这个类。

IsolatedStorageSettings:用于存储程序的配置信息的Dictionary,例如应用程序的一些Key和Value等。

3. 使用隔离存储空间需要引用两个命名空间:

using System.IO.IsolatedStorage;
using System.IO;


对隔离存储空间的操作和传统的文件IO操作类似。

在隔离存储空间里里面没有绝对路径或则说没有根目录,通常来说例如在我们的Windows 电脑上,一个文件夹它的根目录在C盘或则D盘或则E盘等等,但是在Windows Phone 7中则没有根目录,因此也就没有绝对路径。所以我们要取得应用程序的隔离存储空间不能通过路径来获得,只能通过GetUserStoreForApplication()方法来获得。
示例演示:

using System.IO.IsolatedStorage;
using System.IO;
private const string FolderName = "temp1";//定义一个常量,必须在此初始化
private void newbutton_Click(object sender, RoutedEventArgs e)
{
using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
//使用using表示这个类使用完之后可以自动的释放资源,即调用Dispose()方法。
//获得应用程序的隔离存储空间
{
file.CreateDirectory(FolderName);//新建一个文件夹
MessageBox.Show("新建成功!");
}
}

private void Checkbutton_Click(object sender, RoutedEventArgs e)
{
using (IsolatedStorageFile file=IsolatedStorageFile.GetUserStoreForApplication())
{
if(file.DirectoryExists(FolderName))//目录存在
{
MessageBox.Show(FolderName+"已经存在!");
}
else
{
MessageBox.Show(FolderName+"不存在!");
}
}
}

private void Deletebutton_Click(object sender, RoutedEventArgs e)
{
using (IsolatedStorageFile file=IsolatedStorageFile.GetUserStoreForApplication())
{
if(file.DirectoryExists(FolderName))
{
file.DeleteDirectory(FolderName);//删除目录
MessageBox.Show(FolderName + "文件已删除");
}
else
{
MessageBox.Show("没有可删除的文件");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐