windows phone 7 目前版本上已确定没有文件系统(也就是说filestream、OpenFileDialog这样的功能都是不能使用了)和数据库系统了,那在开发时需要保存一些用户配置信息或临时数据在本地怎么办? 答案是只能使用silverlight的特色功能Isolate Storage来保存文本文件、XML文件或INI文件的方式来替代了。
其实使用Isolate Storage的最大好处就是安全性了,因为只有本程序可以访问该区域,而其他程序是无法访问的。这样也就可以对一此敏感数据的保存不用自已再加密了。但是这个区域是有限的(默认为2GB),不能够保存很大的数据,以及长期保存数据。如果您非要保存大量数据,以及长期保存的话,目前只能保存在云端而不是本地。
对于Isolate Storage的使用,其实也很简单,和FileStream基本上是一样的。下面就是一些基本操作的代码:
1. 打开Isolate Storage:
首先引入命名空间System.IO.IsolatedStorage;
打开storage IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();
2. 创建文件夹:
isf.CreateDirectory("MyFolder");
3. 创建文件:
StreamWriter writer = new StreamWriter(new IsolatedStorageFileStream("MyFolder\\myFile.txt", FileMode.OpenOrCreate, isf));
writer.WriteLine(“Hello World!”);
writer.Close();
4. 读取文件:
StreamReader reader = new StreamReader(new IsolatedStorageFileStream("MyFolder\\myFile.txt", FileMode.Open, isf));
string text = reader.ReadLine();
5. 删除文件:
isf.DeleteFile("MyFolder\\myFile.txt");
6. 删除文件夹:
isf.DeleteDirectory("MyFolder");
7. 判断文件或文件夹是否存在:
isf.FileExit("MyFolder\\myFile.txt");
isf.DirectoryExit("MyFolder");
8.也可以使用IsolateStorageFileStream来操作文件或文件夹,用法和FileStream 基本相同.
相关的API详细信息可以查看
http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage(VS.95).aspx