“WriteLine”不起作用

时间:2015-05-08 19:24:36

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

我遇到了问题

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

命令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用于我的应用程序。

2 个答案:

答案 0 :(得分:0)

你应该可以使用:

await FileIO.AppendTextAsync(file, ResultString);

答案 1 :(得分:0)

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

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