• 使用 IsolatedStorageFileStream 存储信息


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

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

    XAML:

    <UserControl x: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">
        
    <Canvas x:Name="myCanvas" Background="White">
            
    <TextBlock MouseLeftButtonDown="myTxt_MouseLeftButtonDown" Height="31" Width="119" Canvas.Left="142" Canvas.Top="139" Text="click me" TextWrapping="Wrap" x:Name="myTxt"/>
        
    </Canvas>
    </UserControl>

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

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

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

    private void SaveData(string _data, string _fileName)
            
    {
                
    using (IsolatedStorageFile myIsf = IsolatedStorageFile.GetUserStoreForApplication())
                
    {
                    
    using (IsolatedStorageFileStream myIsfs = new IsolatedStorageFileStream(_fileName, FileMode.Create, myIsf))
                    
    {
                        
    using (StreamWriter mySw = new StreamWriter(myIsfs))
                        
    {
                            mySw.Write(_data); 
                            mySw.Close();
                        }

                    }

                }

            }

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

    private string LoadData(string _fileName)
            
    {
                
    string data = String.Empty;
                
    using (IsolatedStorageFile myIsf = IsolatedStorageFile.GetUserStoreForApplication())
                
    {
                    
    using (IsolatedStorageFileStream myIsfs = new IsolatedStorageFileStream(_fileName, FileMode.Open, myIsf))
                    
    {
                        
    using (StreamReader sr = new StreamReader(myIsfs))
                        
    {
                            
    string lineOfData = String.Empty;
                            
    while ((lineOfData = sr.ReadLine()) != null)
                                data 
    += lineOfData;
                        }

                    }

                }
     
                
    return data;
            }

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

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

    Source codeIsolatedStorageDEMO1

  • 相关阅读:
    vi/vim 如何添加和删除多行注释
    linux报错:命令未找到
    删除远程分支的方法
    k-vim常见快捷键
    [转]常见linux命令用法介绍
    python库termcolor用法
    gitignore样例解析
    [转]"git rm" 和 "rm" 的区别
    python中的slice用法
    牛客网linux试题-错误整理-20170914
  • 原文地址:https://www.cnblogs.com/sonic1abc/p/1246500.html
Copyright © 2020-2023  润新知