我知道这可能是重复的,但我发现的有关此主题的其他问题没有足够好地描述我的问题。检查文件是否存在于UWP
public bool FileExists(string filename)
{
try
{
if (filename != null)
{
// folder where the file is
StorageFolder folder = ApplicationData.Current.LocalFolder;
// check if file exists
if (folder.TryGetItemAsync(filename) != null)
return true;
return false;
}
return false;
}
catch (Exception e)
{
// do stuff
}
}
我的问题是这个方法总是返回true。如果找不到文件,则TryGetItemAsync(string name)
应该返回null。相反,无论我的参数名称是否为实际文件,它都会返回System.__ComObject
。
我已多次检查该文件是否存在于我的folder
中。
任何人都可以解释它总是返回的行为System.__ComObject
?
编辑1: 一些详细信息:
在我main
类,我测试它像这样:
Debug.WriteLine("Existing file = " + fileUtils.FileExists("Testfile1.txt"));
Debug.WriteLine("Not-Existing file = " + fileUtils.FileExists("Testfile2.txt"));
正如你可以看到,该文件确实的文件夹中存在(并且我的代码中的文件夹有通往此文件夹的正确路径):
谢谢你的解释,它解决了我的问题:) –