WindowsPhons7开发中IsolatedStorage使用详解

 

1.IsolatedStorage的定义和作用
独立存储(IsolatedStorage)是Silverlight中提供的一个客户端安全的虚拟文件系统。由于Silverlight限制了客户端Silverlight应用程

序不能访问文件系统,只能通过独立存储机制提供虚拟文件系统,访问数据流对象,支持使用File和Directory等类访问和维护文件或文件夹

。在独立存储空间内可以放置任意类型的文件,如XML文件、TXT文件、图片、视频等。每个Silverlight应用程序都被分配了属于它自己的独

立存储空间。如果应用程序中存在多个程序集,那么存储空间在这多个程序集之间是共享的,但不能长期保存数据,默认大小为2GB。开发者

在设计应用程序时,需要创建文件或存放数据时,都可以使用IsolatedStorage。
2.IsolatedStorage的使用方法
首先是添加引用
using System.IO
using System.IO.IsolatedStorage

//申明一个IsolatedStorage文件对象
IsolatedStorageFile _isf;
//初始化对象
_isf = IsolatedStorageFile.GetUserStoreForApplication();
先来演示使用数据流创建IsolatedStorage文件:
//创建一个文件名为test.txt的IsolatedStorageFileStream
IsolatedStorageFileStream filestream = new IsolatedStorageFileStream("test.txt",FileMode.Create,FileAccess.Write,_isf);
StreamWriter writer = new StreamWriter(filestream);
writer.WriteLine("This is a test");//向test.txt文件中写入一行字符串
writer.Close();//一定要将writer关闭,不然会出错
这样就在客户端虚拟文件系统创建了一个txt文件,当然也可以参考创建其他类型的文件。

下面来演示如何读取IsolatedStorage中的文件
IsolatedStorageFileStream filestream = new IsolatedStorageFileStream("test.txt",FileMode.Open,FileAccess.Read,_isf);
StreamReader reader = new StreamReader(filestream);
String str = reader.ReadToEnd();//将test.txt文件中的数据从头到尾读取到str中
//此时str的内容就为“This is a test”
reader.Close();//一定要将writer关闭,不然会出错
此外,reader还可以Read、ReadLine、ReadBlock等不同类型的读取函数。

最后演示如何删除IsolatedStorage中的文件
_isf.DeleteFile("test.txt");//直接删除文件
 请记住,在独立存储区中,文件名和目录名是与操作系统相关的(在 Microsoft Windows 系统中通常不区分大小写),并且是根据虚文件

系统的根目录具体而定的。IsolatedStoreFile 类提供了两种删除目录和文件的实例方法:DeleteDirectory 和 DeleteFile。 如果尝试删

除并不存在的文件和目录,则会引发 IsolatedStorageFileException。 如果名称中包含有通配符,则 DeleteDirectory 会引发

IsolatedStorageFileException,而 DeleteFile 将引发 ArgumentException。如果目录中包含任何文件或子目录,DeleteDirectory 将会

失败。 在IsolatedStorageFile中提供一个DeletingFilesAndDirectories方法,该方法删除目录中的所有内容,然后删除目录本身。 同样

,您可以自己定义一个接受通配符的 DeleteFiles 方法,方法为:使用 GetFileNames 方法获取所有匹配文件的列表,然后依次删除每个文

件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值