2015-05-05 64 views
0

我有這樣一段代碼:WriteTextAsync不能寫入文件

string jsonPath = @"Model\Datamodel\UserData.json"; 

User userItem = JsonConvert.DeserializeObject<User>(user); 
User.Add(userItem); 

string content = user; 
var folder = Windows.ApplicationModel.Package.Current.InstalledLocation; 
var file = await folder.GetFileAsync(jsonPath); 

await FileIO.WriteTextAsync(file,content); 
Debug.WriteLine(String.Format("DONE")); 

「完成」調試行寫在控制檯,但它並沒有寫入任何文件。 我也沒有得到任何錯誤。當我調試並查看文件夾和文件時,我發現它們是正確的。

任何人都可以幫忙嗎?

enter image description here

+0

正如你的答案所說,你不能在那裏寫。您可能正在寫入文件IO的任務中發生異常,但由於您沒有檢查結果,所以*看起來像是成功了,但它不成功。 –

回答

1

不能寫入文件的Windows.ApplicationModel.Package.Current.InstalledLocation,你需要使用提供給你,而不是其他的可寫的地點之一。 (例如ApplicationData.Current.LocalFolder

如果您需要訪問軟件包附帶的文件的內容,我會建議將其複製到本地文件夾,並使用副本進行讀/寫訪問。

+0

當我使用其他文件夾時,我找不到我的文件?我得到這個錯誤:mscorlib.ni.dll – Steaphann

+0

發生了類型'System.IO.FileNotFoundException'的第一次機會異常。如果你不創建文件,那麼它將不存在,是嗎?您應該將文件複製到可寫入的存儲區域,然後以相同的方式訪問它。 – ZombieSheep