c# - Windows Phone 8 追加行到文件

标签 c# file windows-phone-8

我在添加行时遇到了这样一个奇怪的问题……我对 Windows Phone 的开发很陌生,但我用 c sharp 编程了一段时间。所以我尝试创建用于保存用户数据的文件(txt 文件中的简单行)。我使用这个代码:

        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); 但在其他方法中它以其他方式出现并且没有任何帮助。现在我已经改进了代码,它可以工作,但是读取所有数据并一次写入所有数据并不是解决方案。感谢您的任何建议。

最佳答案

替换

    s.Write(filebytes, 0, filebytes.Length);

   await writer.WriteLineAsync("new entry");

关于c# - Windows Phone 8 追加行到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23224364/

相关文章:

c - 从二进制文件写入和读取整数数组

php - 在 PHP+Apache 中压缩带有特殊字符的文件时出现问题 - 编码问题

c# - 没有选定项目的列表选择器

.net - windows phone 应用程序意外退出,无一异常(exception)

c# - 使用列表项内容作为字符串名称

c# - 带有 ORDER BY 的 SQL 查询语法不起作用

javascript - txt 文件中的 Node.js console.log()

c# - C++/CLI 全局函数可访问性问题

c# - ReactiveUI - 将 ReactiveList<object> 绑定(bind)到 ObservableCollection

c# - Windows Phone WEB API 通过 HttpClient 发布返回 404 错误