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



所以我想用这段代码创建一个简单的文本文件。但是当我打开创建的文件时,文本没有完全显示,我得到的唯一文本来自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]);
        }

这里有什么问题吗?

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

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

最新更新