2
我有這樣一個奇怪的問題,追加線...我對Windows手機的開發相當新,但我在c sharp一段時間的程序。所以我試圖創建文件來保存用戶數據(簡單的行在txt文件中)。我用這個代碼:Windows phone 8追加行到文件
byte[] filebytes = System.Text.Encoding.UTF8.GetBytes("blablablabla");
StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;
var folder = await local.CreateFolderAsync("Data", CreationCollisionOption.OpenIfExists);
var file = await folder.CreateFileAsync("data.txt", CreationCollisionOption.OpenIfExists);
using (var s = await file.OpenStreamForWriteAsync())
{
s.Write(filebytes, 0, filebytes.Length);
}
寫入到文件,並
StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;
if (local != null)
{
var folder = await local.GetFolderAsync("Data");
var file = await folder.OpenStreamForReadAsync("data.txt");
using (StreamReader sr = new StreamReader(file))
{
string line;
while ((line = sr.ReadLine()) != null)
{
TextBlock.Text = line;
}
}
}
從中讀出。我也嘗試了許多其他的可能性來讀/寫文件,但都以相同的結果結束 - 所有數據都丟失了,文件中只有最後一行。首先,我認爲這個問題將在這裏抵消s.Write(filebytes, 0, filebytes.Length);
,但在其他方式,它是以其他方式,並沒有什麼幫助。現在我已經改進了代碼,它可以工作,但是讀取所有數據並立即寫入所有數據並不是解決方案。感謝您的任何建議。
你向我指出了正確的方式,謝謝,現在的作品:-) – mmaverikk
@mmaverikk你能解釋一下什麼是正確的方法是,你發現?我猜你已經添加了某種作家......儘管如此,很難從費薩爾的回答中得知它的確切含義。 – ruffin
很久以前,但我認爲,@Faisal是正確的,正在等待WriteLineAsync。我也試過它在真實的設備上,它工作得很好。所以這可能是解決方案。 – mmaverikk