(转)Windows Phone7隔离存储空间
原文地址:http://www.cnblogs.com/xieLongBao/archive/2012/02/28/2372311.html
Windows Phone7隔离存储空间
隔离存储空间:
- 目录操作
- 文件操作
- 应用程序配置信息
隔离存储空间的概念:所有文件IO操作被限制在隔离存储空间里面,在隔离存储空间里面可以增删改目录和文件,在隔离存储空间里面可以存储程序配置信息
重要的类:
- IsolatedStorageFile用于操控隔离存储空间里面的目录及文件,
- IsolatedStorageFileStream用于读写操控隔离存储空间里面的流
- IsolatedStorageFileSettings用于存储程序配置信息的Dictionary
配额管理:
- windows phone下的隔离存储空间没有配额的限制
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using System.IO.IsolatedStorage; using System.IO; namespace IsolatedStorage { public partial class MainPage : PhoneApplicationPage { // Constructor public MainPage() { InitializeComponent(); } private const string foldername = "temp1" ; private const string filename = foldername + "/address.txt" ; private const string settingname = "sname" ; /// <summary> /// 创建文件夹 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click( object sender, RoutedEventArgs e) { using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication()) { file.CreateDirectory(foldername); } } /// <summary> /// 检查文件夹是否存在 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button2_Click( object sender, RoutedEventArgs e) { using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication()) { if (file.DirectoryExists(foldername)) { MessageBox.Show( "已存在" ); } else { MessageBox.Show( "不存在" ); } } } /// <summary> /// 删除目录 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button3_Click( object sender, RoutedEventArgs e) { using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication()) { file.DeleteDirectory(foldername); } } /// <summary> /// 创建文件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button4_Click( object sender, RoutedEventArgs e) { using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication()) { IsolatedStorageFileStream stream = file.CreateFile(filename); stream.Close(); } } /// <summary> /// 检查文件是否存在 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button5_Click( object sender, RoutedEventArgs e) { using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication()) { if (file.FileExists(filename)) { MessageBox.Show( "已存在" + filename); } else { MessageBox.Show( "不存在" ); } } } /// <summary> /// 删除文件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button6_Click( object sender, RoutedEventArgs e) { using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication()) { file.DeleteFile(filename); } } /// <summary> /// 向文件里增加内容 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button7_Click( object sender, RoutedEventArgs e) { using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication()) { using (IsolatedStorageFileStream stream = file.OpenFile(filename, FileMode.OpenOrCreate, FileAccess.ReadWrite)) { StreamWriter writer = new StreamWriter(stream); writer.WriteLine(textBox1.Text); writer.Close(); textBox1.Text = "" ; } } } /// <summary> /// 读取文件内容 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button8_Click( object sender, RoutedEventArgs e) { using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication()) { using (IsolatedStorageFileStream stream = file.OpenFile(filename, FileMode.OpenOrCreate, FileAccess.ReadWrite)) { using (StreamReader reader= new StreamReader (stream)) { textBox1.Text = reader.ReadToEnd(); } } } } /// <summary> /// 程序配置信息保存 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button9_Click( object sender, RoutedEventArgs e) { IsolatedStorageSettings.ApplicationSettings[settingname] = textBox2.Text; IsolatedStorageSettings.ApplicationSettings.Save(); textBox2.Text = "" ; } /// <summary> /// 程序配置信息读取 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button10_Click( object sender, RoutedEventArgs e) { if (IsolatedStorageSettings.ApplicationSettings.Contains(settingname)) { textBox2.Text = IsolatedStorageSettings.ApplicationSettings[settingname].ToString(); } } } } |