1.首先创建一个文件夹,在文件夹里创建文件

   private async void CreateButton_Click(object sender, RoutedEventArgs e)

{

    string name=FileName.Text;  //创建文件的名称

    folder =ApplicationData.Current.LocalFolder;

    StorageFolder tempFolder = await folder.CreateFolderAsync("Config",CreationCollisionOption.OpenIfExists);

file =await tempFolder.CreateFileAsync(name,CreationCollisionOption.OpenIfExists);

}

2.在创建好的文件里,写入我们的数据,这里介绍三种写入文件的方式

  private async void WriteButton_Click(object sender, RoutedEventArgs e)

{

    string content = InputTextBox.Text.Trim();

    ComboBoxItem item = WriteType.SelectedItem asComboBoxItem;  //选择写入的方式

    string type = item.Tag.ToString();

switch (type)

{

      case"1":    //以文本的方式写入文件

        await FileIO.WriteTextAsync(file,content);

        break;

       case"2":    //以bytes的方式写入文件

          Encoding encoding = Encoding.UTF8;

          byte[] bytes = encoding.GetBytes(content);

         await FileIO.WriteBytesAsync(file,bytes);

          break;

      case"3":         //以流的方式写入文件

          IBuffer buffer = Convert(content);  //将string转换成IBuffer类型的

       await FileIO.WriteBufferAsync(file,buffer);

         break;

}

}

  3.读取刚才写入文件里的数据,这里也介绍三种读取文件的方式

   private async void ReadButton_Click(object sender, RoutedEventArgs e)

{

      ComboBoxItem item = ReadType.SelectedItem asComboBoxItem;

          string type = item.Tag.ToString();

      string content = string.Empty;

      switch (type)

{

        case"1":        //以文本的方式读取文件

    content =await FileIO.ReadTextAsync(file);

      break;

       case"2":        //以流的方式读取文件

            IBuffer buffer = await FileIO.ReadBufferAsync(file);

     content = Convert(buffer);

          break;

       case"3":

     content =await Convert();

          break;

}

ShowTextBox.Text = content;

}

  

   private IBuffer Convert(string text)  //将string转换成IBuffer类型的

{

      using (InMemoryRandomAccessStream stream = newInMemoryRandomAccessStream())

{

        using (DataWriter dataWriter = newDataWriter())

   {

    dataWriter.WriteString(text);

            return dataWriter.DetachBuffer();

   }

}

}

  private string Convert(IBuffer buffer)    //将IBuffer转换成string类型的

{

      string text = string.Empty;

     using (DataReader dataReader=DataReader.FromBuffer(buffer))

{

   text = dataReader.ReadString(buffer.Length);

}

    return text;

}

  private async Task<string> Convert()

{

    string text=string.Empty;

     using (IRandomAccessStream readStream = await file.OpenAsync(FileAccessMode.Read))

{

        using (DataReader dataReader = newDataReader(readStream))

  {

            UInt64 size = readStream.Size;

           if (size <= UInt32.MaxValue)

         {

            UInt32 numBytesLoaded = await dataReader.LoadAsync((UInt32)size);

      text = dataReader.ReadString(numBytesLoaded);

     }

  }

}

    return text;

}

   4.读取文件的属性

    private async void ReadPropertyButton_Click(object sender, RoutedEventArgs e)

{

        ComboBoxItem item = Files.SelectedItem asComboBoxItem;

        string name = item.Content.ToString();

       StorageFolder tempFolder =await Windows.Storage.ApplicationData.Current.LocalFolder.GetFolderAsync("Config");

        if (tempFolder != null)

       {

       file =await tempFolder.GetFileAsync(name);

        if (file != null)

     {

          StringBuilder builder = newStringBuilder();

      builder.AppendLine("文件名称:"+file.Name);

      builder.AppendLine("文件类型:"+file.FileType);

          BasicProperties basic = await file.GetBasicPropertiesAsync();

      builder.AppendLine("文件大小:"+basic.Size+"bytes");

        builder.AppendLine("上次修改时间:"+basic.DateModified);

        builder.AppendLine("文件路径:"+file.Path);

     List<string> list = newList<string>();

        list.Add("System.DateAccessed");

       list.Add("System.FileOwner");

            IDictionary<string, object> extra = await file.Properties.RetrievePropertiesAsync(list);

            var property = extra["System.DateAccessed"];

          if (property != null)

     {

       builder.AppendLine("文件创建时间:"+property);

    }

    property = extra["System.FileOwner"];

           if(property!=null)

    {

         builder.AppendLine("文件所有者:"+property);

        }

    DisplyProperty.Text = builder.ToString();

}

}

}

   5.复制删除文件

  private async void OKButton_Click(object sender, RoutedEventArgs e)

{

    try

{

      ComboBoxItem item=FilesList.SelectedItem asComboBoxItem;

       string fileName = item.Content.ToString();  //获得选中的文件名称

      int index=fileName.IndexOf('.');

      string firstName = fileName.Substring(0,index);

      string type = fileName.Substring(index);

      StorageFolder tempFolder = await folder.GetFolderAsync("Config");    //文件在Config文件夹下放置着

file =await tempFolder.GetFileAsync(fileName);

     if (file == null)

  {

   Msg.Text ="文件不存在!";

           return;

}

    if (CopyoButton.IsChecked.Value) //判断进行复制还是删除

{

        StorageFile copy = await file.CopyAsync(tempFolder,firstName+"复制"+type,NameCollisionOption.ReplaceExisting);

   Msg.Text ="复制成功!!!";

}

      else

{

        await file.DeleteAsync();

Msg.Text ="删除成功!!!";

}

}

  catch

{

Msg.Text ="操作失败!";

}

}

Windows 8 Metro中文件的操作及访问(读写删除复制)相关推荐

  1. java中的文件_JAVA中文件的操作

    在java中,对文件(例如图片)进行操作,包括上传.修改.删除 一,文件上传 1.文件传到哪里,不仅可以保存在数据库中,也可以上传到远程服务器,文件保存的是文件的路径 2.文件上传都需要做什么?写那些 ...

  2. python36_第36 p,就这几个方法,Python中文件的操作

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第X篇文章,第二阶段的课程:Python基础知识:Python中文件的操作(下篇). 学习本课程,建议先看一遍:[计算机基础知识]课 ...

  3. 文件操作函数java_java中文件的操作

    前言:java的读写操作是学java开发的必经之路,Java.io包中包括许多类提供许多有关文件的各个方面操作.下面就来总结下java的读写操作. 主要内容如下 1.字节流与字符流的区别 2.文件操作 ...

  4. C、C++和MFC中文件的操作

    对文件读写的三种方法   1.C中     FILE *pFile=fopen("1.txt","w"); fwrite(" http://www.s ...

  5. Python中文件的操作

    1.文件的基本操作 文件打开的格式: file = open(文件路径,读写模式) 文件路径:可以写相对路径,也可以写绝对路径 读写模式:r(读取) w(写入) a(追加) 文件打开后,必须关闭,否则 ...

  6. Metro中文件夹和文件的创建

    本文主要介绍两种文件的创建,分别是使用: ApplicationData.Current.RoamingFolder和KnownFolders.DocumentsLibrary中提供的. 使用之前,需 ...

  7. java中文件的操作讲解

    1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如: C:\xyz\test.txt 代表了test.txt文件的绝对路径.http://ww ...

  8. python中文件读取操作及注意事项

    我们想要读一些文件,那么可以使用read()函数.readline()函数.或者readlines()函数. 其中read()函数可以一次性读取文件中所有的内容,也可以设置read(100),也就是一 ...

  9. (方案汇总)批处理中畸形文件夹和畸形文件的创建、访问、删除

    [方案一]以点结尾的文件夹 复制内容到剪贴板 代码: rem 创建以点结尾的文件夹 md "C:\test" md "C:\test\batcher..\" 复 ...

最新文章

  1. spring上下文是什么意思_Java程序员只会CRUD连Spring事务传播机制都不懂?
  2. 550 万华人在美人才现状:7 诺奖、300 院士,320 八大常春藤高校终身正教授......
  3. php排序最新,PHP排序的几种方法,值得来看!
  4. create-react-app 2.0中使用antd(eject)
  5. python把中文转英文_Python 3.0_文本清洗之中文特殊符号转英文特殊符号及全角字符转半角字符...
  6. 给服务器端下拉asp:DropDownList 绑定改变事件,Ajax绑定下拉
  7. 识别它的飞鸽传书2012方法是光圈环
  8. docker深入1-配置非https的公司私有的registry仓库
  9. Exchange 2010 批量移动邮箱和增加移动请求并发数
  10. Typora + PicGo + Aliyun OSS + CSDN
  11. kopernio显示无效程序_daz 无法渲染/没有渲染/渲染不显示/渲染无效?
  12. 决策树ID3算法实现与讨论(完整代码与数据)
  13. STM32CUDE-STM32F407学习笔记1-点亮LED
  14. 【vulhub漏洞复现】ActiveMQ 反序列化漏洞 (CVE-2015-5254)-01
  15. PC设置切换Fn功能键
  16. c语言狗追兔子,[转载]狗追兔典型例题
  17. vue实战 —— 图书商城移动端项目
  18. Foxmail中配置O365邮箱和Hotmail邮箱
  19. 零基础入门 Vue3 | 附高清原图
  20. php怎么把多个pdf拼接成一个,如何把PDF文件拼接成一个?

热门文章

  1. php预编译mysql扩展_PHP-Mysqli扩展库的预编译
  2. dllregisterserver找不到入口点_厨房间漏水找不到漏水点,厨房上面漏水 | 影楼
  3. 软件开发生命周期中的设计阶段_什么是软件生命周期模型?软件测试和软件开发的关系分析!...
  4. php !$rs-gt;bof and !$rs-gt;eof,关于rs.bof rs.eof的一些解释,请大家帮我完善一下,谢谢...
  5. c语言srand函数怎么用_Excel统计指定内容出现次数,用函数怎么写?人人都能看懂的公式...
  6. 孙鑫MFC笔记之十二--网络编程
  7. android home 销毁 activity,android 触发home之后activity销毁问题
  8. 跨栏表格位置跑到了下一页_LaTeX双栏模板插入通栏公式(跨栏插图)
  9. 搜索引擎优化的用乐云seo_搜索引擎优化SEO
  10. 数学连乘和累加运算符号_2020中考数学 初中数学有理数计算(干货)