专栏首页java架构师【WP之一】]独立存储

【WP之一】]独立存储

介绍:

提供一个磁盘存储空间,他是一种虚拟的文件系统,能存储小量的数据;在默认的情况下,它只能存储1MB的文件。根据使用方式及功能的不同,独立存储空间又包含两部分:独立设置存储和独立文件存储。除非卸载应用,否则数据不会消失。

第一是通过库中的键/值对,叫做IsolatedStorageSettings(独立设置存储),第二是通过创建真实的文件和目录,叫做IsolatedStorageFile(独立文件存储)。

独立设置存储:
命名空间为:System.IO.IsolatedStorage;主要涉及System.IO.IsolatedStorage.IsolatedStorageSettings类。
常用操作:
//创建操作独立设置存储必须的IsolatedStorageSettings类的对象
             IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
        //增
             settings.Add(key,value);    
         //删
             settings.Remove("kk");
        //改
             settings["kk"] = value;
        //查
             string kk = (string)settings["kk"];
        
        //判断该键是否存在
             settings.Contains("kk");
        //清除
             settings.Clear();
        //最终都需要保存
             settings.Save();

独立文件存储:

命名空间为:System.IO.IsolatedStorage;主要涉及System.IO.IsolatedStorage.IsolatedStorageFile类。实际上,IsolatedStorage.IsolatedStorageFile类是 FileStream类 的一个子类。

         CreateDirectory()        创建一个新的独立存储文件夹           DeleteDirectory()        删除独立存储文件夹                  CreateFile()                创建文件           DeleteFile()                删除文件                             GetFileNames()           得到文件名称集合           GetDirectoryName()    得到文件夹名称集合           OpenFile()                  打开文件           Remove()                  移除所有的文件和文件夹

常用操作:

...
 using System.IO.IsolatedStorage;
 using System.IO;

 namespace PhoneApp19
 {
     public partial class MainPage : PhoneApplicationPage
     {
         //为程序获取一个虚拟的本地存储
         IsolatedStorageFile storageFile = IsolatedStorageFile.GetUserStoreForApplication();
         // 构造函数
         public MainPage()
         {
             InitializeComponent();
         }
         //写入数据
         private void btnWrite_Click(object sender, RoutedEventArgs e)
         {
             string filePath = txbFilePath.Text.Trim();
             string fileName = txbFileName.Text.Trim();
             string fullFileName = System.IO.Path.Combine(filePath,fileName);
             string content = txbContent.Text;
             //判断文件夹是否存在,若不存在则创建
             if (!storageFile.DirectoryExists(filePath))
             {
                 storageFile.CreateDirectory(filePath);
             }
             //写入
             using (StreamWriter writer = new StreamWriter(storageFile.OpenFile(fullFileName, FileMode.Append)))
             {
                 writer.WriteLine(content);
             }
         }
         //读取数据
         private void btnRead_Click(object sender, RoutedEventArgs e)
         {
             string fullFilePath = txbFullFilePath.Text.Trim();
             //判断文件是否存在
             if (!storageFile.FileExists(fullFilePath))
             {
                 txbReadContent.Text = "指定文件不存在";
                 return;
             }
             //读取
             using (StreamReader reader = new StreamReader(storageFile.OpenFile(fullFilePath, FileMode.Open)))
             {
                 txbReadContent.Text = reader.ReadToEnd();
             }
         }
        
     }
 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Web开发中的文件上传组件uploadify的使用

    在Web开发中,有很多可以上传的组件模块,利用HTML的File控件的上传也是一种办法,不过这种方式,需要处理的细节比较多,而且只能支持单文件的操作。在目前We...

    小端
  • Web开发中的文件上传组件uploadify的使用

    在Web开发中,有很多可以上传的组件模块,利用HTML的File控件的上传也是一种办法,不过这种方式,需要处理的细节比较多,而且只能支持单文件的操作。在目前We...

    小端
  • Hadoop学习14--Hadoop之一点点理解yarn

    yarn是一个分布式的资源管理系统。 它诞生的原因是原来的MapReduce框架的一些不足: 1、JobTracker单点故障隐患 2、JobTracker承担...

    小端
  • Laravel框架环境与配置操作实例分析

    Laravel 5 安装根目录下 .env 文件是配置文件。打开 config/database.php 可以看到,它返回一个PHP数组,该配置文件提供了各种数...

    砸漏
  • 关于字符串为空的几个性能测试

      string.Empty是一个Static的属性,使用时不分配存储空间,而在用""时,系统会分配一个长度为空的存储空间。不过编译系统应该会优化,也就是说,比...

    小老鼠
  • Vue(CLI3.0)多环境配置问题2020

    程序员不务正业
  • 微信小程序支付服务端.net core实现,简单直接

    做小程序的支付时,在翻阅了大量的别人分享的代码后,感觉写的简直就是一堆垃圾,不敢苟同,要是代码都那么写,维护性简直了,于是才有了这篇文章。

    FreeTimeWorker
  • zipkin:打造自己的链路跟踪系统(一)

    在官方的demo中提供了docker镜像启动和jar包启动,但如果要做个性化开发的话必须通过自建项目然后引入zipkin server依赖进行启动。 前面两种启...

    不会飞的小鸟
  • Flink 16种数据转换操作,满足所有数据处理场景

    数据转换(Transformation),即通过从一个或多个 DataStream 生成新的DataStream 的过程,是主要的数据处理的手段。Flink 提...

    kk大数据
  • CVPR 2018 | 腾讯AI Lab提出新型损失函数LMCL:可显著增强人脸识别模型的判别能力

    选自arXiv 机器之心编译 参与:Panda 深度卷积神经网络 (CNN) 已经推动人脸识别实现了革命性的进展。人脸识别的核心任务包括人脸验证和人脸辨识。然而...

    机器之心

扫码关注云+社区

领取腾讯云代金券