writetextasync不会将所有文本写入文件

时间:2012-12-01 09:00:41

标签: c# windows-8

所以我想用这段代码创建一个简单的文本文件。 但是当我打开创建的文件时,文本不会完全显示, 我得到的唯一文字来自tb1.text(id [2])。

这里有什么不对吗?

        private async void Save_Reg() 
        {
                var myfile = (tb3.Text+".xml");
                var folderUsed = ApplicationData.Current.LocalFolder;
                var folderOp = Windows.Storage.CreationCollisionOption.ReplaceExisting;
                var createFile = await folderUsed.CreateFileAsync(myfile, folderOp);


                var password = tb2.Text;
                var recov = tb1.Text;
                string[] id = { myfile,password, recov };
                await Windows.Storage.FileIO.WriteTextAsync(createFile, id[0]);
                await Windows.Storage.FileIO.WriteTextAsync(createFile, id[1]);
                await Windows.Storage.FileIO.WriteTextAsync(createFile, id[2]);
        }

1 个答案:

答案 0 :(得分:6)

  

这里有什么不对吗?

是。 WriteTextAsync 替换当前文件的内容。它等同于同步File.WriteAllText方法。如果您想追加,则需要AppendTextAsync

或者,连接id以便您知道要编写的完整内容,然后只调用WriteTextAsync一次。