如何确定文件是否存在于本地文件夹中(Windows.Storage.ApplicationData.Current.LocalFolder)
在 Windows Phone 8.1 上?
不幸的是,目前没有直接的方法来检查文件是否存在。您可以尝试使用以下两种方法之一:
- 获取一个文件,如果抛出异常则意味着该文件不存在,
- 列出所有文件并检查是否有搜索到的文件名
一个简单的扩展方法可以如下所示:
public static class FileExtensions
{
public static async Task<bool> FileExists(this StorageFolder folder, string fileName)
{
try { StorageFile file = await folder.GetFileAsync(fileName); }
catch { return false; }
return true;
}
public static async Task<bool> FileExist2(this StorageFolder folder, string fileName)
{ return (await folder.GetFilesAsync()).Any(x => x.Name.Equals(fileName)); }
}
然后你可以像这样使用它们:
bool isFile = await ApplicationData.Current.LocalFolder.FileExists("myfile.txt");
如果文件不存在并且文件夹中文件很少,则第二种方法可能会快一点,因此不会引发异常。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)