博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
win8 文件读取操作----模版操作
阅读量:6132 次
发布时间:2019-06-21

本文共 3163 字,大约阅读时间需要 10 分钟。

1    ///  2        /// 数据存储 3        ///  4        /// 
5 /// 6 /// 7 ///
8 public static async Task SavaData
(T data,string fileName) 9 {10 //创建文件11 try12 {13 StorageFile sFile =await ApplicationData.Current.LocalFolder.CreateFileAsync(fileName,CreationCollisionOption.ReplaceExisting);14 //写入流15 IRandomAccessStream stream = await sFile.OpenAsync(FileAccessMode.ReadWrite);16 17 using (IOutputStream outStream = stream.GetOutputStreamAt(0))18 {19 //序列化数据,并写入数据20 DataContractSerializer serializer = new DataContractSerializer(typeof(T));21 serializer.WriteObject(outStream.AsStreamForWrite(), data);22 await outStream.FlushAsync();//异步刷新数据23 //outStream.Dispose();//异步刷新数据 24 }25 stream.Dispose(); 26 //要把留释放掉否则会出现对同一文件操作的权限问题27 28 }29 catch (Exception error)30 {31 throw new Exception(error.Message);32 }33 }34 35 ///
36 /// 读取数据37 /// 38 ///
39 ///
40 public static async Task
ReadData
(string fileName)41 {42 T data=default(T);43 try44 {45 //获取文件46 StorageFile sFile = await ApplicationData.Current.LocalFolder.GetFileAsync(fileName);47 if (sFile == null) return data;48 //打开一个顺序访问流49 IInputStream inputStream = await sFile.OpenSequentialReadAsync();50 //反序列化51 DataContractSerializer serializer = new DataContractSerializer(typeof(T));52 data = (T)serializer.ReadObject(inputStream.AsStreamForRead());53 }54 catch (Exception error)55 { }56 return data;57 }58 59 ///
60 /// 删除文件 61 /// 62 ///
63 ///
64 public static async Task
DeleteData(string fileName)65 {66 bool isDelete = false;67 try68 {69 StorageFile sFile = await ApplicationData.Current.LocalFolder.GetFileAsync(fileName);70 await sFile.DeleteAsync();71 isDelete = true;72 }73 catch (Exception)74 { }75 return isDelete;76 }77 78 79 public static async Task WriteTimestamp()80 {81 try82 {83 StorageFile sampleFile = await ApplicationData.Current.LocalFolder.CreateFileAsync("dataFile.txt", CreationCollisionOption.ReplaceExisting);84 await FileIO.WriteTextAsync(sampleFile, DateTime.Now.ToString());85 }86 catch (Exception e1)87 {88 throw new Exception(e1.Message);89 }90 }

文件存储操作

转载于:https://www.cnblogs.com/win-and-first/archive/2012/07/11/2585797.html

你可能感兴趣的文章
并发和并行的区别
查看>>
php小知识
查看>>
Windows下安装、运行Lua
查看>>
Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解(二)
查看>>
初识中间件之消息队列
查看>>
MyBatis学习总结(三)——优化MyBatis配置文件中的配置
查看>>
Spring常用注解
查看>>
我的友情链接
查看>>
PCS子层有什么用?
查看>>
查看端口,关闭端口
查看>>
代码托管平台简介
查看>>
linux:yum和apt-get的区别
查看>>
Sentinel 1.5.0 正式发布,引入 Reactive 支持
查看>>
如何对网站进行归档
查看>>
数据库之MySQL
查看>>
2019/1/15 批量删除数据库相关数据
查看>>
数据类型的一些方法
查看>>
Mindjet MindManager 2019使用教程:
查看>>
游戏设计的基本构成要素有哪些?
查看>>
详解 CSS 绝对定位
查看>>