哇,這種方式比它需要的更復雜。誰能向我解釋爲什麼下面的代碼工作:帶Windows Rt和C的FileIO#
string stringToWrite = "SomeStuff";
Windows.ApplicationModel.Package package = Windows.ApplicationModel.Package.Current;
Windows.Storage.StorageFolder installedLocation = package.InstalledLocation;
var files = await installedLocation.GetFilesAsync();
foreach (Windows.Storage.StorageFile sf in files)
{
if (sf.Name.Equals("log.txt"))
{
await FileIO.AppendTextAsync(sf, stringToWrite);
}
}
然而下面的失敗,存取遭拒:
Windows.ApplicationModel.Package package = Windows.ApplicationModel.Package.Current;
Windows.Storage.StorageFolder installedLocation = package.InstalledLocation;
var log = await installedLocation.GetFileAsync("log.txt");
await FileIO.AppendTextAsync(log, stringToWrite);
唯一的區別是通過由GetFilesAsync方法VS得到該文件返回文件循環按名字。順便說一下,按名稱獲取文件是可行的,因爲如果我在GetFileAsync中拼寫log.txt,我會得到一個異常。
很混亂....
這條線是在您的兩個實施例中的差'var中的文件=等待installedLocation.GetFilesAsync();'根據MSDN方法'獲取在當前文件夾的頂級文件' – MethodMan
我知道,一個獲得一個storageFile,另一個返回一個集合,然後循環獲取單個文件。就讀/寫而言,文件訪問應該是相同的,不是? – mrasmussen
您是在談論Windows運行時還是您在談論稱爲Windows RT的操作系統? – Charles