博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
讨厌的 StorageFolder.GetFileAsync 异常。
阅读量:5331 次
发布时间:2019-06-15

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

我们在做WinRT开发的时候,会偶到这样一个场景。

获取一个文件,当他不存在的时候,我们做一些事情。

如果当不存在,我们就创建这么一个文件,那就很好办了。

var file = ApplicationData.Current.LocalFolder.CreateFileAsync(destFileName,CreationCollisionOption.OpenIfExists);

但是,如果我们并不想创建文件,只是想安安静静的 判断一下,有则读取,无则做别的。

这时候就得用到 GetFileAsync ,这个方法有些 讨厌,如果文件不存在,它会抛出来一个异常。

StorageFile file;try{    file = await ApplicationData.Current.LocalFolder.GetFileAsync(destFileName)}catch { } if (file != null){  // code}

有的时候,这不是我们所喜欢的。至少我看着有点不爽。

在Window 8.1 中,引于了一个新的方法,,如果文件或文件夹不存在的时候,他会返回一个null.

代码就可以这样修改:

StorageFile file = await ApplicationData.Current.LocalFolder.TryGetItemAsync(destFileName) as StorageFile; if (file != null){}

这样就舒服多啦。

 

posted on
2014-09-24 12:31 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/gaoshang212/p/3990422.html

你可能感兴趣的文章
Mac 中文输入法失效(不显示选词框)解决办法
查看>>
基于 Laravel 开发博客应用系列 —— 设置 Linux/Mac 本地开发环境
查看>>
C语言基础-第五章
查看>>
CSS的一些命名
查看>>
[LeetCode]Valid Sudoku
查看>>
[leetcode]110BalancedBinaryTree平衡二叉树
查看>>
SQL中INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN区别
查看>>
学计算机的你伤不起啊
查看>>
Django+MongoDB批量插入数据
查看>>
GPS坐标换算为百度坐标
查看>>
Linux命令整理-Ubuntu
查看>>
liunx 安装和解压命令
查看>>
【问题解决】线程间操作无效:从不是创建控件“textBox1”的线程访问它
查看>>
Ralink RT3290无线网卡驱动安装 (linux)
查看>>
leetcode38. 报数
查看>>
ava集合框架
查看>>
把sublime text2配置的更好用,用到一点写一点
查看>>
构建之法阅读笔记02
查看>>
nodejs,python,sublime和Eclipse的包管理器
查看>>
完善自己的学习方法
查看>>