使用 IsolatedStorageFileStream 存储信息

2016-08-20 10:33:43来源:http://nick287.blog.51cto.com/6666932/1162206作者:sonic1abc人点击


在Silverlight中还有一种叫做IsolatedStorage的存储机制,他存储信息的方式类似于我们的cookie, IsolatedStorage存储独立于每一个Silverlight的application,换句话说我们加载多个Silverlight应用程序是他们不会相互影响,我们这样就可以在silverlight 下次运行的时从IsolatedStorage中提取一些有用的数据,这对我们来说是很好的一件事吧~


使用islatedstorage也十分简单,不废话了 还是上个实例看吧.


XAML:


<UserControlx:Class="SilverlightApplication10.Page"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Width="400"Height="300"><Canvasx:Name="myCanvas"Background="White"><TextBlockMouseLeftButtonDown="myTxt_MouseLeftButtonDown"Height="31"Width="119"Canvas.Left="142"Canvas.Top="139"Text="clickme"TextWrapping="Wrap"x:Name="myTxt"/></Canvas></UserControl>

我们用IsolatedStorageFile.GetUserStoreForApplication()获取一个IsolatedStorage文件对象.


随后我们将创获取IsolatedStorageFileStream对象,再将文件已流的形式写入.


注:(using System.IO.IsolatedStorage;using System.IO;)


privatevoidSaveData(string_data,string_fileName){using(IsolatedStorageFilemyIsf=IsolatedStorageFile.GetUserStoreForApplication()){using(IsolatedStorageFileStreammyIsfs=newIsolatedStorageFileStream(_fileName,FileMode.Create,myIsf)){using(StreamWritermySw=newStreamWriter(myIsfs)){mySw.Write(_data);mySw.Close();}}}}

这样我们就完成写入工作,读取也同样简单~


privatestringLoadData(string_fileName){stringdata=String.Empty;using(IsolatedStorageFilemyIsf=IsolatedStorageFile.GetUserStoreForApplication()){using(IsolatedStorageFileStreammyIsfs=newIsolatedStorageFileStream(_fileName,FileMode.Open,myIsf)){using(StreamReadersr=newStreamReader(myIsfs)){stringlineOfData=String.Empty;while((lineOfData=sr.ReadLine())!=null)data+=lineOfData;}}}returndata;}

就此我们就完成了文件的读写,在此说明一点Silverlight默认分配一个application的IsolatedStorage空间是1MB.


当然我们也可以更改这个限额~ 这个问题我下次再给大家说吧~


Source code:IsolatedStorageDEMO1


最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台