讨厌的 StorageFolder.GetFileAsync 异常。
2014-09-24 12:31
267 查看
我们在做WinRT开发的时候,会偶到这样一个场景。
获取一个文件,当他不存在的时候,我们做一些事情。
如果当不存在,我们就创建这么一个文件,那就很好办了。
但是,如果我们并不想创建文件,只是想安安静静的 判断一下,有则读取,无则做别的。
这时候就得用到 GetFileAsync ,这个方法有些 讨厌,如果文件不存在,它会抛出来一个异常。
有的时候,这不是我们所喜欢的。至少我看着有点不爽。
在Window 8.1 中,引于了一个新的方法,StorageFolder.TryGetItemAsync,如果文件或文件夹不存在的时候,他会返回一个null.
代码就可以这样修改:
这样就舒服多啦。
获取一个文件,当他不存在的时候,我们做一些事情。
如果当不存在,我们就创建这么一个文件,那就很好办了。
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 中,引于了一个新的方法,StorageFolder.TryGetItemAsync,如果文件或文件夹不存在的时候,他会返回一个null.
代码就可以这样修改:
StorageFile file = await ApplicationData.Current.LocalFolder.TryGetItemAsync(destFileName) as StorageFile; if (file != null) { }
这样就舒服多啦。
相关文章推荐
- getFileAsync异常处理
- 使用fastdfs_client的storage.upload_file方法上传图片抛FileNotFound异常
- nginx+fastcgi php 使用file_get_contents、curl、fopen读取localhost本站点.php异常的情况
- 对file_get_contents进行异常捕获
- search a file from directory and get storage directorys from android device(i use tablet here)
- “IAsyncOperation<StorageFile>”不包含“GetAwaiter”的定义
- push or get File or Folder using scp wrapped with expect and bash
- vb.net DirectoryNotFoundException UnauthorizedAccessException FileSystem.GetFiles获取文件 异常 权限解决
- Win764bit下安装32位Oracle10g出现异常:无法定位程序输入点GetProcessImageFileNameW于动态链接库PSAPI.DLL
- 【软件自动化测试 - VBScript 5】== Get the recently createed Folder or a File in a Parent Folder
- SPDL: SHGetSpecialFolderLocation()、SHGetFileInfo()、SHGetPathFromIDList()函数
- eclipse异常报错:Unable to build: the file dx.jar was not loaded from the SDK folder
- get file's name from a folder using Java
- 【随心笔录】Android N 文件Uri传递,报出FileUriExposedException异常,使用FileProvider
- jsp出现getOutputStream() has already been called for this response异常的原因和解决方法
- [异常] Java文件上传异常org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of mul
- PHP如何响应移动端(android or ios)的post请求(使用file_get_contents)
- MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
- Get file Hash with Qt
- 如何用c#打开文件夹并选择文件夹内的一个文件 open folder and select file