Windows 8 如何检查WinRT中的StorageFolder中是否存在文件
可能重复:Windows 8 如何检查WinRT中的StorageFolder中是否存在文件,windows-8,windows-runtime,Windows 8,Windows Runtime,可能重复: 我正在使用StorageFolder,需要在读取文件之前检查文件是否存在,以避免出现异常 我的代码如下所示: StorageFolder storageFolder = ApplicationData.Current.LocalFolder; StorageFile sampleFile = await storageFolder.GetFileAsync(myPath); 问题是,我找不到检查文件是否存在的方法上次我检查时,您必须捕获异常: (可能已经改变了) 编辑:这是一种方
我正在使用StorageFolder,需要在读取文件之前检查文件是否存在,以避免出现异常 我的代码如下所示:
StorageFolder storageFolder = ApplicationData.Current.LocalFolder;
StorageFile sampleFile = await storageFolder.GetFileAsync(myPath);
问题是,我找不到检查文件是否存在的方法上次我检查时,您必须捕获异常: (可能已经改变了) 编辑:这是一种方法:) 像这样:
static async Task<bool> DoesFileExistAsync(string fileName)
{
try
{
await ApplicationData.Current.LocalFolder.GetFileAsync(fileName);
return true;
}
catch
{
return false;
}
}
静态异步任务DoesFileExistAsync(字符串文件名)
{
尝试
{
等待ApplicationData.Current.LocalFolder.GetFileAsync(文件名);
返回true;
}
抓住
{
返回false;
}
}
我认为这样更好:var folder=ApplicationData.Current.LocalFolder;var file=await folder.TryGetItemAsync(“file.txt”)作为IStorageFile;如果(file!=null){//文件存在,“file”变量包含对它的引用。}否则{//文件不存在。}Jon,TryGetItemAsync仅适用于Windows 8.1,而不适用于Windows Phone 8.1。您的答案有效,但不适用于通用应用程序。这会尝试读取所有文件数据吗?或者它只是获取元数据?