【问题标题】:"WriteLine" does not work“WriteLine”不起作用
【发布时间】:2015-05-09 03:59:14
【问题描述】:

我有问题

我用这段代码保存到txt文件,怎么不覆盖文件,但下次函数调用时会逐行写入??

命令 WriteLine 不起作用。 写入覆盖文件。

private async Task WriteToFile()
{
    string ResultString = string.Join("\n", locationData.ToArray());

    byte[] fileBytes = System.Text.Encoding.UTF8.GetBytes(ResultString);

    StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;
    var dataFolder = await local.CreateFolderAsync("DataFolder", CreationCollisionOption.OpenIfExists);
    var file = await dataFolder.CreateFileAsync("DataFile.txt", CreationCollisionOption.OpenIfExists);

    using (var s = await file.OpenStreamForWriteAsync())
    {
        s.Write(fileBytes, 0, fileBytes.Length);
    }
}

我的应用程序使用的是 Windows Phone 8.1。

【问题讨论】:

标签: c# .net windows-phone windows-phone-8.1


【解决方案1】:

你应该可以使用:

await FileIO.AppendTextAsync(file, ResultString);

【讨论】:

    【解决方案2】:

    在执行写入之前查找从 OpenStreamForWriteAsync 返回的流的末尾。

    s.Seek(0, SeekOrigin.End);
    using (StreamWriter writer = new StreamWriter(stream))
    {
        await writer.WriteAsync(ResultString);
        await writer.FlushAsync();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-09
      • 2013-02-09
      相关资源
      最近更新 更多