我知道這可能是重複的,但我發現的有關此主題的其他問題沒有足夠好地描述我的問題。檢查文件是否存在於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"));
正如你可以看到,該文件確實的文件夾中存在(並且我的代碼中的文件夾有通往此文件夾的正確路徑):
謝謝你的解釋,它解決了我的問題:) –